(* Content-type: application/mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 7.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       145,          7]
NotebookDataLength[    488285,      11448]
NotebookOptionsPosition[    469406,      10927]
NotebookOutlinePosition[    469853,      10944]
CellTagsIndexPosition[    469810,      10941]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["2d kneed biped with torso", "Title",
 CellChangeTimes->{
  3.504390813710744*^9, {3.513011450427533*^9, 3.51301145527552*^9}, {
   3.513011745947039*^9, 3.513011749321201*^9}, {3.515858432663828*^9, 
   3.5158584360910234`*^9}, {3.5158700644438047`*^9, 
   3.5158700646998196`*^9}, {3.5158859650463057`*^9, 3.515885965342706*^9}}],

Cell[CellGroupData[{

Cell["Conventions", "Section",
 CellChangeTimes->{{3.6032976509661293`*^9, 3.60329765549201*^9}, {
  3.603298322308634*^9, 3.603298323068405*^9}}],

Cell[CellGroupData[{

Cell["Definitions", "Subsection",
 CellChangeTimes->{{3.603298003824047*^9, 3.603298008881617*^9}}],

Cell[CellGroupData[{

Cell["Link abbreviations - \[OpenCurlyDoubleQuote]c\[CloseCurlyDoubleQuote] - \
calf, \[OpenCurlyDoubleQuote]t\[CloseCurlyDoubleQuote] - thigh, \
\[OpenCurlyDoubleQuote]T\[CloseCurlyDoubleQuote] - torso", "Item",
 CellChangeTimes->{{3.603297674068726*^9, 3.603297713459001*^9}, {
  3.603297763789094*^9, 3.603297763791307*^9}, {3.603297831685836*^9, 
  3.603297847353899*^9}}],

Cell["\<\
Joint abbreviations - \[OpenCurlyDoubleQuote]s\[CloseCurlyDoubleQuote] - \
stance, \[OpenCurlyDoubleQuote]ns\[CloseCurlyDoubleQuote] - nonstance, \
\[OpenCurlyDoubleQuote]a\[CloseCurlyDoubleQuote] - ankle, \
\[OpenCurlyDoubleQuote]k\[CloseCurlyDoubleQuote] - knee, \
\[OpenCurlyDoubleQuote]h\[CloseCurlyDoubleQuote] - hip\
\>", "Item",
 CellChangeTimes->{{3.603297847688663*^9, 3.603297863026155*^9}, {
  3.6032979888379517`*^9, 3.603297988840714*^9}}],

Cell["\<\
Body - combination of a joint and the body it drives, depends on build \
direction. In this case:\
\>", "Item",
 CellChangeTimes->{{3.603297989397773*^9, 3.603297996492037*^9}, {
  3.603298160275828*^9, 3.603298164482795*^9}, {3.6032982374352627`*^9, 
  3.603298289466217*^9}}],

Cell["\tstance ankle drives stance calf,", "Item",
 CellChangeTimes->{{3.603297989397773*^9, 3.603297996492037*^9}, {
  3.603298160275828*^9, 3.603298164482795*^9}, {3.6032982374352627`*^9, 
  3.6032982928736486`*^9}}],

Cell["\tstance knee drives stance thigh", "Item",
 CellChangeTimes->{{3.603297989397773*^9, 3.603297996492037*^9}, {
  3.603298160275828*^9, 3.603298164482795*^9}, {3.6032982374352627`*^9, 
  3.603298295254168*^9}}],

Cell["\tstance hip drives torso", "Item",
 CellChangeTimes->{{3.603297989397773*^9, 3.603297996492037*^9}, {
  3.603298160275828*^9, 3.603298164482795*^9}, {3.6032982374352627`*^9, 
  3.603298298537182*^9}}],

Cell["\tnonstance hip drives nonstance thigh", "Item",
 CellChangeTimes->{{3.603297989397773*^9, 3.603297996492037*^9}, {
  3.603298160275828*^9, 3.603298164482795*^9}, {3.6032982374352627`*^9, 
  3.603298301508543*^9}}],

Cell["\tnonstance knee drives calf", "Item",
 CellChangeTimes->{{3.603297989397773*^9, 3.603297996492037*^9}, {
  3.603298160275828*^9, 3.603298164482795*^9}, {3.6032982374352627`*^9, 
  3.603298301560902*^9}}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Nomenclature", "Subsection",
 CellChangeTimes->{{3.603297659274044*^9, 3.603297678241297*^9}}],

Cell[CellGroupData[{

Cell["\<\
okx - \"o\" - offset, parent joint to child joint in parent's frame, \"k\" - \
knee (where parent is the ankle), \"x\" - x-axis.\
\>", "Item",
 CellChangeTimes->{{3.603297674068726*^9, 3.603297713459001*^9}, {
   3.603297763789094*^9, 3.603297763791307*^9}, 3.603297831685836*^9, {
   3.6032978853214483`*^9, 3.603297890189817*^9}, {3.603297942240861*^9, 
   3.603297966782083*^9}, {3.603298181348205*^9, 3.603298208186644*^9}}],

Cell["\<\
\tBelow, \"ok\" would represent \"BA\", where \"B\" is the parent, \"A\" is \
the child\
\>", "Item",
 CellChangeTimes->{{3.603297674068726*^9, 3.603297713459001*^9}, {
   3.603297763789094*^9, 3.603297763791307*^9}, 3.603297831685836*^9, {
   3.6032978853214483`*^9, 3.603297890189817*^9}, {3.603297942240861*^9, 
   3.603297966782083*^9}, {3.603298181348205*^9, 3.603298217092778*^9}}],

Cell["\<\
Ltx - \[OpenCurlyDoubleQuote]L\[CloseCurlyDoubleQuote] - length (positive) \
for link, \[OpenCurlyDoubleQuote]t\[CloseCurlyDoubleQuote] - thigh, \
\[OpenCurlyDoubleQuote]x\[CloseCurlyDoubleQuote] - x-axis\
\>", "Item",
 CellChangeTimes->{{3.603297764501739*^9, 3.603297780012858*^9}, {
  3.603297893266774*^9, 3.603297900093638*^9}}],

Cell["\<\
ctx - \[OpenCurlyDoubleQuote]c\[CloseCurlyDoubleQuote] - offset for center of \
mass of joint,  parent to child. Below, it represents \
\[OpenCurlyDoubleQuote]BC\[CloseCurlyDoubleQuote]\
\>", "Item",
 CellChangeTimes->{{3.603297714954631*^9, 3.603297756093329*^9}, {
  3.603297814799488*^9, 3.603297824776819*^9}, {3.603297875002736*^9, 
  3.603297909464479*^9}, {3.603297978090049*^9, 3.603297983730686*^9}, {
  3.603298221276428*^9, 3.603298231744396*^9}, {3.603300986576065*^9, 
  3.6033009886084833`*^9}}],

Cell["mt - \[OpenCurlyDoubleQuote]m\[CloseCurlyDoubleQuote] - mass, \
\[OpenCurlyDoubleQuote]t\[CloseCurlyDoubleQuote] - thigh", "Item",
 CellChangeTimes->{{3.6032978754284983`*^9, 3.6032979147922897`*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 GraphicsBox[
  TagBox[RasterBox[CompressedData["
1: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
FM33FnkcY3nLHDhwYGtx3I1p06Z5He/Vq1fzGPfi+8ViRds5TxXfC1y+fLlX
PT/++CPnuypu3LhxIx/brbv66qt57jJDeNaoU6eO17a1a9fmMR/nuf2irQfE
n3aCKgGc5/xS9UuiPT/ztsKHrkGDBrnnV9u0aRM8BkCEQ/BYUKxbRwPN4zDs
qIPfG+P3x2Q9/F5Zecs8duzYFHHcDeERz7Hm3Bn8nlZKSsoaK9vPc7YIZxnm
XCGdO3fm6o3Nmzd/4GMbvj9r/POf/zT4OVl2drbXWBGG55Xh98zYRVwO59MX
fzYJJhol9wo5wTAPDuH51KaKz3cbFxa+N8njM//whz94yoPHAIh8CB4LiiVL
6E3Tu8oJdtXD+TxkPWlptLE8ZV133XV1i4qKMmJiYlyXXHLJRWMCFy9ebFme
SEb08d7hcs15qvh5WW5urks46oCPbdbJ791zzz1Gamoq992Mbt26XXR+sov+
85//uMfzZ2RkuPtovhbhUhf3PTnHiPk+KnPDDTcYx48fh8cAiHBKxweCxwLi
hx/oVfM9P86Bb0c9nF/RlDc4lfMvBlvW/Pnz3ZOhDBgwwOtY79ixg/NG5XLu
eyvbznmoOGf+tm3bvOrjuZ95ee+9954utc068/dq1qxpHDhwwP3dDRs2GPfd
d5/qXHU7ivMb8zwv9erVM8S+GOY5Qc3wHGlvvfUW+1T6b4bT1yEAIHhUcYHg
Mb989RW9aPYYz0lmRz2c757z3st61qyh/sGWJfo36/j+4U033eQ5zrVq1TJ4
8ZfHtzwkJiYu4/LN7zdzX4uX6Ojo0u+Pe3mMLvhpypQpPObe7Rx+3sZjPvid
7dLfLQvhVWPUqFGe/pvohx0Rfx51+hoEAJQPP9c9POaHYcOovdljPEe0XXXx
PGSmd9WWBFNG69atm/C4C9Hvco+jkHAuXl6mTZvW1Y62z549uzuXz/WY6+WF
5x2rXr16PdP3L/LYBXiM4u2COcaFhcf0L1682H1PlOfuvP/++91O5vuN7Ok7
77zT/e51jx493Pce4+LiXHJb8TvsF3846WMFp68/AED5UcQNeKwM+vShlmaP
vf02PWlXXTwvtOlZXCLPG61bhujHvMXzfPkiOzt7n+rd5PLCz+RycnL2q+r+
5ptvXjJ935/H5DnL+Td4zrTVwkecPziQ5fwFd40V1HP6mgMAWIsibsBjZdCh
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
xsT9+/d/zmVw306WK8fXC7e9wd/h8fhZWVmuK6+80vOdnTt3ut9j4xxcwdYt
+jMTpBNOn6YfHXJCwPC722Xl8ggR8BgAQBtF3AiZxxITE5dxmVWrVvWUJ+rh
VcbChQvfCKbMChUq1CkoKIgX/S6X+G9PuQcPHuT3nbOqV6/uzvHOnuR6nn76
ac93XnvtNXfd5bmnuXs3jZJO4Pt1TvkpUDp1omaB5PIIAfAYAEAbRdwImcfy
8/NjOD+Vubz+/ftzNQbf+wumzClTpnTh7c3jR+rUqeMu05x/qm3btk1cLte5
xYsXe7537bXXGkVFRS7RT9sebDzesoU+kk7Izqb9DjkhYMIklwc8BgAICkXc
CInHOM88lzdx4kRPWZdeeqlx4MABV3nu7SUkJCzmcm+//faLxnCMHDnSKz/g
6dOnN/BYkD/+8Y+e786cOZO/6urVq1eLYOpft44GSifk5dFxp/wUKGGSywMe
AwAEhSJu2OqxZs2aPbBv375xPG6Qx76bc1bJvL08Jj+YWNiwYcP7hJcKt2zZ
4imT7y0KX7n4HezS31+6dGlfru/111/3fP+RRx5xt+HQoUNBvfu1ZAm9KZ1Q
WEhJTjoqEDh3lqm98Q62BR4DAGijiBvaHisqKkrZvn37cF9s27ZtmPDW53Fx
cXM49xN7hsvh+4k8RlCWw+MUU1JSuC+W16RJkweCiYU//fTT+1x2165dPeU+
8cQTvMrYvXv36NLfv/CudI74zKtPKPp0rsLCwpRg3sXmuSbN/RueE8VpV/kj
THJ5wGMAgKCwymOBLpxjcdOmTUaHDh2Myy+/3L3973//e/f4CuENdljB/Pnz
Xw82Fp45c2ZvQUGBq0qVKp72cT59HoPfuXPnR3xtc/LkyVnctn/+85+ebT74
4AN3e2fMmKGdf/+rr+hFs8eaNqUHnHaVP8zvCTiYywMeAwAEhRUe434Uz7+i
olGjRsY//vEPt6/kNtdff73x0ksvcY55HufuzhMlPHa6PPNZcr4rLofnR5P1
8DhIHreRkZGxRbUd5w3h7UaMGOHZ7pZbbuFVRlJSkvb7X8OGUXuzx7p0oUed
dpU/wiSXBzwGAAgKRdzQ8pgut912mzFr1ix+pmbIhXP07tix49Py5FQ8duzY
VC6L89nLuv773/+6y1+zZk1/f9uKfuLJ5ORk12WXXebZduPGjZwHv0iU10in
HTzez+yxAQOotYNuKJOMDNoaBrk84DEAQFD48Y1l848xN998syHn/5Lw+8cP
P/ywMXr0aIPfR+ayMzMzd7722muP68bA6667ri7nFuYcVzy/mKyD72Hy2Mc7
7rijob/t9+7dO5brb968uWfbF154gVcZmzdv/kCnLR060MNmj9k8h3K5CZNc
HvAYACAorPCYzvOxtLQ0l+h3cQ5grzlbOC8Vv+/FOarYR/369XtSJwbyMzUu
f+DAgRfdG4yPj19Y1vYyjxXPjSa3v/rqq93P87Kzsw/otIXHrZs9NmUKdXHa
VSrCKJcHPAYACAqrPFZcXJx24MCB8So4/xTn5uX3iwsKCpK5HH4uxvkN+VmZ
LIvnT+H3ucR3kurXrx/we0ypqanrOHfiTTfd5ClryJAhXI3B70UHUkZGRsZW
HmtiHiMyadIkdxnvvffe04G2pWJFqmP22Ny51NNpX6koncuDx6jAYwCASMIq
j+m+Bz19+vRuwmm7uTyem9l8L/Dll1/m1QaP0w+kLJmXY+XKlZ4yuLzY2Fi3
DzlPVSDlrF27dgDXy/XLcu677z53W6Kjo6fp7B/PqSzdsGIF9XPQDX4Jo1we
8BgAICgUccN2j0lOnjw5m8t84403vMpcsWKFe6z8K6+88lhZZezcufMzLoPf
oZbb8xhJXnTep+b8ITzuPyoqyqst/K52UVFRJj+DC7Ss3Fw6It2wcSMNcdAN
fpk5k14Lk1we8BgAICgUcSNkHqtVq1YDse0JHhtvzuvBYw55CcRDnKcjMzPT
9bvf/c6zPee64oXfuRZuyg0UHjfJ2/3tb3/zlPXOO++4y5J58gPhzBnaLd2w
bRt94rSvVIRRLg94DAAQFE57jJFjBevXr+91XzAjI4PHWOzzt+24ceM68bbi
r2dbHjvP7z4vX748aPg5nSyvRo0act6ydYHuU3o6bZZ+2LuXxjntKxXm3PwO
5/KAxwAAQREOHluyZMmbXO7zzz/vVS6/Iy38UeRvW36GxttyPns/+1Ju2G38
DE74rUkg+5SSQmukH44coW8c9oOSUrk8Ava0TcBjAABt/MTukHnsww8/bMfl
ci4oc7lfffUVrzZU4xb5niTnYtyzZ4/XvC920K6du4k8z+angexTQgItln44
cYJmBLKNEyQm0tIwyeUBjwEAgsJP7A6Zx7755puXuFyer9lcLtfDC9frazvO
0cGf9+zZ07MNz78ycuRISzCPW+R3tvkZnNjPgOZhiY2lmdIP8fG0wGlfqQij
XB7wGAAgKMLBY1FRUe9xuS1btvQqd8qUKbyan0/V97Wd8Mq24uJi1x/+8AfP
Nj169DCsWnJyclwVK1b0lD12rPsxnjFmzJjnytqnY8doivRDcjKtdNpXKsIo
lwc8BgAIinDwmBx7//e//92r3LVr1/K70jm+thG+aiE2cfF4DvM2W7du5W3y
OD9H+/btmwbL7t273RNvmsfy33nnnbzK4Pz4Ze3TgQP0pfRDWhpFOe0rX4RZ
Lg94DAAQFE577LPPPnuWx0/wMy5zjl7OCeUvTz3PccltMedD1MlDVRatWrV6
iNu1ePFir33ldvJ8ZTfffPPd/rbfuZM+lX7IyqIdDvvBJ2GWywMeAwAEhSJu
hMRj7777bpu8vLwYvjdonvuLadu2LVflM0cv58Tn3FaJiYle7hs0aJB7G84V
YkVcvTDnp6tatWqeOnr16uWuY9WqVW/723bTJhoq/ZCTQ4cc9oNPPvmEOoRR
Lg94DAAQFIq4YYvHOF/GkCFDnp47d27PpKSkFZyvg8vr27evV3kVKlTg95/d
c2r6GufOc1vydqXHNx47dozncE6rUqVK0HO/mJHjSHiOT1kHP4vjvJD+5jMr
2ZbekX7Iz6dYh/3gkzDL5QGPAQCCQhE3tD3G9+A4T70K0efKNkotfM+O5+As
XTfP48ILP6PyFe+EA5fz53wfUW5Tt25d9zbHjx//zqq4WqdOnXs5H8iWLVu8
2jdnzhx3zqyuXbs2V227cCG9If1QVEQpTjvLF+vW0cAwyuUBjwEAgkIRN7Q8
xvMvr1+/3i+rV692jz987733jC5duhiib3ZRnZzDg+du4SUrK2tX9erV65Vu
Q5MmTR7guS15jkvztjxOnhfx19K5vng+aC6X50+TdT3++OPuuvbv3/+5arvp
06mbua9TqxY1CANPeBFmuTzgMQBAUFjhMSu44447jJ9++omLN86cObNX9e6z
6Bt9yN/hOS7ltvyMLCUlxZWfn3/S6tjK90C5Pn72Zq5P+I1z6Seocul/8QV1
NnusZUt6KAw84UV0NE0Lo1we8BgAICj8uMV2j/E8muwj7q/xozLO0cvzo/Bz
NFWsy8nJOZibm+vi8YyyHJ5TmpcDBw58aXVs5T5hcXHxGc55b277xx9/7K5T
NbfZ0KHU1uyx7t1Je45ruwmzXB7wGAAgKPx4RumxPXv2GDz/pS58/3HBggXG
jz/+6M4BbFxY+D4hj/sYPnx4B39xTuavOnXqlFe5O3fudJfTp08fW8bbxcbG
zuLyuf2yzkWLFrnr5LlBfW3Tsye1MHvs/fepbRh4wotSuTwmON0eeAwAEAzB
eKw8C48HEf2bLLHs4DEZPCawcePGjQKJc8eOHZuqKjc7O/uAXfF1/PjxL6jq
PX/+fEHDhg3vK73NU0/RQ2aPff45PR8GnvAiL4+OhVEuD3gMABAUOh7j97aC
zY/Bczb7u18YCDzGQ1W+L5dYib998zUe5Y47qKHZY999R/8NA094CMNcHvAY
ACAodDwG9ODx9tITPA7f6faY6diRHg6zXB4MPAYA0EYRN+AxCygooJPSE/xe
tNPtMROGuTwYeAwAoI0ibsBjFpCbS4ekJzhPldPtMfPDD/Sq2WMNGpCt92UD
BB4DAGijiBvwmAVkZdFO6QnOG+x0e8yEYS4PBh4DAGijiBvwmAXwfC3SFTyP
i9PtMROGuTwYeAwAoI0ibsBjFpCcTKukK3heTafbYyYMc3kw8BgAQBtF3IDH
LCA+nhZKV8TG0kyn22MmDHN5MPAYAEAbRdyAxywgJoa+l65ISKDFTrfHTEYG
bQmzXB4MPAYA0EYRN+AxCzhyhCZJV6Sk0Bqn22MmDHN5MPAYAEAbRdyAxyxg
3z4aJ12Rnk6bnW6PpGpVqhuGuTwYeAwAoI0ibsBjFrB9Ow03jQnc7XR7JGGa
y4OBxwAA2ijiBjxmAVFRNES6IjeXjjjdHsmwYdQ+DHN5MPAYAEAbRdyAxyxg
5Ur6n3RFQQHFOd0eSZjm8mDgMQCANoq4AY9ZwLx51Eu6gp9HVaxIPueODjVh
msuDgccAANoo4gY8ZgFTp9LL5n7PnXdSueatsYpdu2hkGObyYOAxAIA2irgB
j1nA6NH0nNlj7dpRU6fbxIRpLg8GHgMAaKOIG/CYBQwaRK3NHuvdm55wuk1M
YiItCcNcHgw8BgDQRhE34DEL6NqVmps99tFH1N7pNjFhmsuDgccAANoo4gY8
ZgHNmlFjs8cmTKAXnG4Tk5dHR8MwlwcDjwEAtFHEDXjMAm68keqbPfb99/Sq
0226kMsjRbZpyRJ60+k2mYDHAADaKOIGPGYRwhlJ4ZT/KYxzeTDwGABAG0Xc
gMcsIj+fTkhnrFtHA5xuTxjn8mDgMQCANoq4AY9ZRE4O7Q+nZ1FhnMuDgccA
ANoo4gY8ZhGZmbRNOoPfP3a6PdwnDNNcHgw8BgDQRhE34DGLOH2aNoTTGHdz
Lo/sbNrrdHtKAY8BALRRxA14zCKSkmi59Abn0XC6PaINU8M0lwcDjwEAtFHE
DXjMIuLiaJ4pd8Ycp9sTxrk8GHgMAKCNIm7AYxZx/Dh9J70hHLLU6fZkZNDm
cLrPWQp4DACgjSJuwGMWcegQfR1O9/HCOJcHA48BALRRxA14zCL27KHR0hui
L7TVybaEeS4PBh4DAGijiBvwmEVs3Uofh8v4wA4dwjqXBwOPAQC0UcQNeMwi
fvyR3pXeyMujaCfbEua5PBh4DACgjSJuwGMWsWwZ9TW9d5zgZFs4T3EY5/Jg
4DEAgDaKuAGPWcSsWdTd7I5q1aieU20J81weDDwGANBGETfgMYuYOJH+Y/ZY
o0Z0v1NtCfNcHgw8BgDQRhE34DGLGDGCnjF7rHNnesSptoR5Lg8GHgMAaKOI
G/CYRfTrR63MHnv7bXrSqbaUyuXheG4RH8BjAABtFHEDHrOITp2omdljn35K
zzrVljDP5cHAYwAAbRRxAx6ziHvvpfvNHps0iV5yqi1hnsuDgccAANoo4gY8
ZhGcQ8PssdmzqbtT7QjzXB4MPAYA0EYRN+AxC+Ex7tIfy5fTW060IQJyeTDw
GABAG0XcgMcsJC+Pjkl/bNhA7zrRho8+8s7l0bcvtXL6d/EBPAYA0EYRN+Ax
C+F3taQ/fv6ZhjnRhgjI5cHAYwAAbRRxAx6zkIwM2iL9sWcPjXGiDWvXhn0u
DwYeAwBoo4gb8JiF8DvH0iGHD9NEJ9oQAbk8GHgMAKCNIm7AYxZifv/4xAma
7kQbIiCXBwOPAQC0UcQNeMxCTp6k2dIhp07RPCfakJAQ9rk8GHgMAKCNIm7A
YxZi7gslJTnzu0ZALg8GHgMAaKOIG/CYhbA3pEPS0miDE23IzaUjYZ7Lg4HH
AADaKOIGPGYh5jEWmZm0PdT1V65Md0VALg8GHgMAaKOIG/CYhXD/RzokJ4cO
hLr+du2oaQTk8mDgMQCANoq4AY9ZiHke5vx8igl1/RGSy4OBxwAA2ijiBjxm
IYsXUx/pkKIiSg51/RGSy4OBxwAA2ijiBjxmo0dq1qS7Q1l/hOTyYOAxAIA2
irgBj1nIhAn0gtljzZtT41DWHyG5PBh4DACgjSJuwGMWUvr5VLdu9Fgo6z92
LCJyeTDwGABAG0XcgMcspHdvesLsscGDqU0o64+QXB4MPAYA0EYRN+AxCyk9
7n3sWOoUyvrT0yMilwcDjwEAtFHEDXjMQu68k+4xe2zaNOoayvpL5fL4yOnf
ww/wGABAG0XcgMcspEIFqlNURKnSJfPnU69Q1R1BuTwYeAwAoI0ibsBjFlNQ
QHHSJatW0duhqjeCcnkw8BgAQBtF3IDHLMZ8by8qit4LVb0RlMuDgccAANoo
4gY8ZjFnztAu6ZLt22lEqOqdMYNeiZBcHgw8BgDQRhE34DGLSU+nTdIl+/fT
56GqN4JyeTDwGABAG0XcgMcsJiWFVkufHD1Kk0JV786d9FmE5PJg4DEAgDaK
uAGPWUxCAi2SPomJoR9CVW8E5fJg4DEAgDaKuAGPWUxsLM2UPomPp4Whqlf4
c3GE5PJg4DEAgDaKuAGPWczRozRZ+oTvMYaq3gjK5cHAYwAAbRRxAx6zmP37
6QvpE+GWn0JVbwTl8mDgMQCANoq4AY9ZzI4dNEL6JCuLdoWizgjL5cHAYwAA
bRRxAx6zmJ9+ovelT0Qf6XAo6oywXB4MPAYA0EYRN+Axi1m9mt6RPikooJOh
qPPDD6ldBOXyYOAxAIA2irgBj1nMggX0uvQJ5wzm3MF21xlhuTwYeAwAoI0i
bsBjFvPtt/Rfs1Nq16Z77K5zzRrqH0G5PBh4DACgjSJuwGMWM24cdTJ7rE0b
amJ3nRGWy4OBxwAA2ijiBjxmMUOG0NNmj73+Oj1hd53HjtGUCMrlwcBjAABt
FHEDHrOYV1+lx8we4zEYdtcZYbk8GHgMAKCNIm7AYxbTogU9aPbY+PHU2e46
IyyXBwOPAQC0UcQNeMxibrmFGpg9xmMJ7a4zwnJ5MPAYAEAbRdyAx2zAnFtj
8WLqbWddEZjLg4HHAADaKOIGPGYD+fkUI73C81vaWRePhzT3/77+mv7j9P4H
ADwGANBGETfgMRvIyaGD0iubN9MHdtYVgbk8GHgMAKCNIm7AYzaQlUXbpVd2
7aKRdtY1fTp1i7BcHgw8BgDQRhE34DEbSEujjabxg+PtrCsCc3kw8BgAQBtF
3IDHbCA5mVZKt0RH01Q764rAXB4MPAYA0EYRN+AxGzh1iuab3kuebWddEZjL
g4HHAADaKOIGPGYDJ07QDOmWxERaYmddEZjLg4HHAADaKOIGPGYDhw/TxFD1
kdLTaVOE5fJg4DEAgDaKuAGP2cDevTRWuiUjg7bYWVcE5vJg4DEAgDaKuAGP
2cC2bTQsFGMvIjSXBwOPAQC0UcQNeMwGNmygwdIteXl0zK56IjSXBwOPAQC0
UcQNeMwGVqygfqF4p2voUGobgbk8GHgMAKCNIm7AYzYwZw71MPulalWqa0c9
EZrLg4HHAADaKOIGPGYDkydTF7Nf7r2X7rejngjN5cHAYwAAbRRxAx6zgZEj
6Vmzxzp1omZ21LNzJ30agbk8GHgMAKCNIm7AYzbQvz89ZfZYv372PLeK0Fwe
DDwGANBGETfgMRt48UV6xOyxESPoGTvqSUigRRGYy4OBxwAA2ijiBjxmAw8+
SI3MHps40Z7x8BGay4OBxwAA2ijiBjxmA9WqUT2zx2bNou521JObS4cjMJcH
A48BALRRxA14zCYKCylROmbZMuprdfkVK1KdCM3lwcBjAABtFHEDHrOJvDyK
lo758Ud61+ryIziXBwOPAQC0UcQNeMwmsrNpv3TM1q30sdXlR3AuDwYeAwBo
o4gb8JhNZGbSz9Ixe/bQaKvLL53Lw653rW0CHgMAaKOIG/CYTZw+TT9Kxxw6
RF9bXf6aNfROhObyYOAxAIA2irgBj9lEUhItk545fpy+s7r8CM7lwcBjAABt
FHEDHrOJuDiaKz0j/nue1eUfPUqTIzSXBwOPAQC0UcQNeMwmuA8mPSP6Zsut
Lj+Cc3kw8BgAQBtF3IDHbOLQIfpKeub0adpgdfnp6fRThObyYOAxAIA2irgB
j9nE7t00WnomM5O2WV1+BOfyYOAxAIA2irgBj9nE1q30kfRMTg7tt7LsCM/l
wcBjAABtFHEDHrOJ9etpkPRMfj6dsLLsp56ihyI4lwcDjwEAtFHEDXjMJpYu
pTelZ0TfKcnKsiM8lwcDjwEAtFHEDXjMJmbOpNfMrrnxRqpvVdnffUf/jeBc
Hgw8BgDQRhE34DGb4Ht9Ztc0a0aNrSo7wnN5MPAYAEAbRdyAx2zik0+og9lj
XbtSc6vK3rGDRkRwLg8GHgMAaKOIG/CYTfAzK7PHBg2i1laVHeG5PBh4DACg
jSJuwGM20bEjPWz22OjR9JxVZUd4Lg8GHgMAaKOIG/CYTTRoQPeZPTZ1Kr1s
VdkRnsuDgccAANoo4gY8ZhP8rrLZY/PmUS+ryo7wXB4MPAYA0EYRN+AxG+Gx
hNI3K1fS/6wos3QuD35Pzen9DAJ4DACgjSJuwGM2kpdHR6VvoqJoiBVl/gpy
eTDwGABAG0XcgMds5MwZ2iN9s307DbeizPffj/hcHgw8BgDQRhE34DEbycig
zdI3+/bROCvK/BXk8mDgMQCANoq4AY/ZSGoqrZW+OXKEJllR5urVEZ/Lg4HH
AADaKOIGPGYjCQm0RDonJoa+t6LMX0EuDwYeAwBoo4gb8JiNxMbSLOmc+Hha
aEWZv4JcHgw8BgDQRhE34DEbOXaMpkrnJCfTKivKZB9GeC4PBh4DAGijiBvw
mI0cOEBfSuekpVGUFWX+CnJ5MPAYAEAbRdyAx2xk5076TDonK4t2WlFmbi4d
ivBcHgw8BgDQRhE34DEb2bSJhkrnsH/KW96FXB7JEZ7Lg4HHAADaKOIGPGYj
a9ZQf+mcggI6Wd7yWrb8/+2dB5gUxdaGSxQQRBED4i+KAZXrxatcFUQvQVAR
BBG5ZkwoIghGVETJZpAoJkSSAZAkiCQVZElLji4LsqSFZWF3gY1smvrr6+2a
WzNM90zPdM/Mzpx6ntfFma7qmu6q83VVnzoVE7E8AOkYQRCWMbAbpGMOMncu
e11qDmIihlpejMTyAKRjBEFYxsBukI45yA8/sG6q7tSvz24LpbzvvouJWB6A
dIwgCMsY2A3SMQf54gv2tKo7iPEbSnkxEssDkI4RBGEZA7tBOuYg77/vOQ/4
8susXSjlxUgsD0A6RhCEZQzsBumYg0C3VB2DroVS3s6dbHwMxPIApGMEQVjG
wG6QjjmI915hmGcMpTw1lsf+/eU2lgcgHSMIwjIGdoN0zEHg16HqGPw+QikP
MUFiIJYHIB0jCMIyBnaDdMxBKlbU1i2nS+2BH34o5cVILA9AOkYQhGUM7Abp
mMNg/bPUHqyLDracGIrlAUjHCIKwjIHdIB1zGHUMhThVwZYTQ7E8AOkYQRCW
MbAbpGMOg/jAUnsQNzjYcrxjefTuXW5jeQDSMYIgLGNgN0jHHEb1zcA+LsGW
E0OxPADpGEEQljGwG6RjDoP9M6X2YF/NYMuJoVgegHSMIAjLGNgN0jGHUdd8
7d3Lfgq2nHXrYiaWByAdIwjCMgZ2g3TMYfbsYVOk/hw8yOYFW04MxfIApGME
QVjGwG6QjjlMcrKH/vwRbDkxFMsDkI4RBGEZA7tBOuYwW7eyMVJ/srLYqmDL
iaFYHoB0jCAIyxjYDdIxh1m3jg2V+nPiBNscbDk5OTETywOQjhEEYRkDu0E6
5jDLl7NBUn/y8tjOYMqIsVgegHSMIAjLGNgN0jGHWbSIvR2qv3yMxfIApGME
QVjGwG6QjjnMrFnsFVWDzj6b3Wy1jEGD2IMxFMsDkI4RBGEZA7tBOuYwkyax
51UNatyYNbFaRozF8gCkYwRBWMbAbpCOOcyoUewJVYM6dWJ3Wy1j8WLWJ4Zi
eQDSMYIgLGNgN0jHHKZ/f9ZR1bE337Q+JxhjsTwA6RhBEJYxsBukYw7TrRu7
V9WxIUPYo1bL8FpLvSTSv8kGSMcIgrCMgd0gHXOYNm3YHaH6GsZYLA9AOkYQ
hGUM7AbpmMNccQW7VdWxadNYD6tlxFgsD0A6RhCEZQzsBulYGCgsZGmhrGFW
Y3kkJpb7WB6AdIwgCMsY2A3SsTCQn8/2SB1aupT1t5K3YsWYi+UBSMcIgrCM
gd0gHQsDYjy1PdjxVLt2rEWMxfIAdujY+YL7Bd0FfQUjBJMF4wRDBe8KnhLU
E5wW6f5HEHHMeYL2gm68rF+ir07iZX31U/2zpwX/4H76qoHdIB0LA8eOsXVS
hzZtYqOs5HUqlsdvv/3Wp7S0tCgICouLi3NOnjx5OC8vb9fhw4cXb9myZfTk
yZO7Vq9ePdBYJcHqWAPBIEGioJQHmESdj4s/8wSPC86Mgn7tJFtdLldhEOSL
65Qu/u4UZSwTjBI8I7gkTPW+TXDSV93wuaBpFFzbaOdaQYHRPRbfPRDGutwg
GChYza311RPiz6+CToIq3uUa2A3SsTCQkcGWSR1KSmJjreSdPJl1dSKWxx9/
/IExDF+1ahWfPXu2JRYuXMhXr17Nk5OTXULTXLINCm3L2LVr18R27dq18HN+
qzr2L8HP8jxZWVmlU6ZM4c8//zxv1aoVb9CgAb/kkkt4pUqV+FlnncUvvfRS
fsMNN/D//ve/fMiQIXzZsmWom0vpJ6MFF4exT4cN8ft2HT9+3PI9nTNnDl+6
dCnfuHEjP3LkiGp38O/Fgvscrjuezfkvv/ziUa+5c+fKekyM9LUtB3yMC7V4
8eJT7q9oF2j/88JQh/qCmfKmHTt2rHTatGm8a9eupn21Y8eO/JNPPuF//vmn
2lezxZ8xXHmWMrAbpGNhIC2NLZQ6tHs3+95KXqdieUgda9OmjVG7CAi0x5tu
uom/8847fOfOnVr7KyoqOrFkyZJ+JucPVMdqCH4QuJC+//57fvPNN/MKFSpY
rmeNGjX4iy++CDut1VEUl8vL5jNOeeYrz0DH1q9fH9I9BRdffDHv0KEDnzp1
qtuuiARR+T8H6n0W7seGDRt81mXNmjW4X3niuLMjfX2jmNPFvU/bv3+/y1f/
+PXXX3ENSx26f6A6L5vXLxXn4T/++CNv2LBhUH21evXqvFu3bnzdunWyr+aL
P/0EVU3ykY45zIEDbJay/mumlbzq/mV2xvKwS8e8eeCBB7joS9rz/NatW8cY
nD8QHbtStN9klIOxQv369X2er3Llyrxu3br81ltv5W3btuXt27fnjRo14nXq
1NG+85UHvxljSb2P7IkCG2QbdumYyoUXXsjHjRuHa4Vn5BRxnsttrjfmL3mP
Hj3c58Szuvw3bJqeno309Y1i2uICDRw40Oc1xNyEnno7cO46om38hcIxnsb4
yqivXnXVVR59Ff8266v33HMPT0pKkn31gEk7JR1zmJQU9oPUIjE2m28lr1Ox
PHzp2Pnnn88xX2fGpEmT+Icffsh79uypzQXAxnm3KZQjxz3Lly8f5OP8/nTs
VmEvjwr4q6++espxNWvW1M6PZ8yCggL3vKZ3wpzn77//zl977TV+zTXXeJRR
sWJFbQ5D9I2SKLBBtuFLx7p06eL3vo4ZM0YbUz/99NP8P//5j09b8cwzz0DH
pJZVtbHeywoLC13nnXee+1wTJ050//vcc8+VY8Llkb6+UcxMPGdcccUV7us2
fvx4ftppp2n/xrxJZmamS382tPO8t4j2cAQFv/HGGz6fgfB8An3Lz8837avC
JvHXX3+dX3vttR5lnHHGGRz9GMnAbpCOhYEdO9g4qUVHj7I/reR1KpaHLx3D
XLXVBB35/PPPtTGR2q4wj5eamuoqKirK9vG+zEzHrhZdIicvL68Uz2zq93i+
7NevH8/NzdXGe+K4AvFnvuBDwau8zI/jEcErgo8Es/X5Qy1hXPevf/3LXd70
6dPjQse+/vpry/d1y5Ytrk6dOml6r5aFZwI9vW9Tna9GYZi/lOf497//rZ1A
vVc//PCDPO81Eb7GH/CytuVNpQjW6ULRjoth6+X1whgHutaiRQv3Z6NGjZLX
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
HvE6Vls4hpgt8ljEt9HTDxbO+QQyPPbYYx7tS49/mRmO3818axjpWBho1ow1
VXVs4kTWJZB8qansZydieYBQdKxWrVoNe/To0RbrxtLS0ubDd917PSTezYty
EA8/94477mjmVYZbx7799lvtnKJMd94zzzwTvot4rvw5zLbBm4t5lCRxjY/x
AOocoo5Bl7C3QA9Rzm5kwF4BWNMly8IeA3oaHEh9fFAZvwVaKMuEXyrG7eKc
qfzUea4K4vOD+F5dj4F5MvE5bGdY42hEiY6dJuqxF+vr1Huzdu1aGSP+lDXH
4vgt8P+AH4g8HvO1+vqTcwM871f4oarPCMrT/R/D4i/FSMciRo0a7BZVx2bO
ZC8Hks+pWB7Mj45hnzHojy8w7uJlvk7utGjRIt6yZUuPOSLMoeM7Ma4a4eP8
bh2D/5kYx3m0Sfh46+mdcNooH2g6hnUyiDsYKbZu3Yp7ErKOCZt1woR89Z6K
e1KK9VpqzEP4Cuixgg9bsH3eIBYRV2PxNW3aVJ7WKFaHNgmG42Set956S+bp
GM42ESU6hpgX/OOPP3bX4x//+Iesh1GsDi2gGGKiyjzPPvuszPNCgOddjPVh
attSYoQMCMdvZ741jHQsTJw8yQ5KTVq4kPUOJE9ODvvLiVgezEDHEP8FumIG
1qJgbTP6EOJ/yhh4iFeNOY4JEybI9/CliYmJHxuc361j8O8QmufRJrH2VU9P
h9E2+ELTMfhcMuP+4zjQ0VB0DLFX/d1XrD/Hew/ExHvkkUe4XPeMNVtvvvkm
9tDQbgjihok/tUO4pgsx1r7ooot8acE/DPJgT2/tOJkH+8qEcU8tN1GiY1pw
AaxXkfVQ3nc1Mchzkff6zrPPPluL9yFSYoDnXZ+SkuLh43HnnXfK83YJx283
6SekY2EgL4/9LTUpIYH5igHvgR7LI82JWB7MQMeCAfsqYK2qeE6T7RnzDFlT
p0590eT8bh1LTU3V/NTUMmFH9XR/GG2DL2JCx6yCMRjiMW/atIl7Jax7DsVe
Y8DvYUuhl/BbFGmtWV7YWhynxhWZN2+e03tq+apHpHWsOuJbrFy50l0HvLNE
7CZ9D6LTTPLOgx+IukcFnjv19M8AfvtevAtT2wrGd3p6MBy/36Tdko6FAfgb
Sk1au5YN8Xd8mzbsDnUuctw4+2J5MBt1DLEdENN3+PDh7phuSFlZWWteeeWV
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
CV1CqXN29v90Cz4ecRbLg3SMIIigMLAbpGMGFBQUpP71118e1wrrp5HWrl07
JJQ6I869Oo8YZ7E8AOkYQRCWMbAbpGMGZGZmriguLnYhzocsF2vLkHbs2PFN
KHU+epT9KXVr3z42Q9WxPn1Yh0hf0zBAOkYQhGUM7AbpmAEnTpzYfOzYMZd6
rWrWrKmVm5KS8mModU5LY/OlbqWns9/jLJYHIB0jCMIyBnaDdMwA7NOCmB7q
tbruuuu0crdt2/Z5KHWGb72yl+baOIvlAUjHCIKwjEguA9uREAV2LWic0LGX
XnqpHfKPGzfO41q1atVKKxf+jKHUefdu9r3UrtxclhRnsTzAcua7LeZHup8Q
BBG9iJRuYDuSosCuBY0TOpaRkbEc+e+9916Pa4W9XZCGDh36aCh1Vn07CgrY
/jiL5QF2MN9tcV+k+wlBENGLSBsNbEdGFNi1oLFTxy6//PJbk5KSxiLv+PHj
Pa5ThQoV8F7MVVBQcCjUOm/axEap78TiLJYHyGK+2+KqSPcTgiCiF5HmGdiO
UoFt+2uFm1B0DPuKiWNbjxs37lnsD33y5MmjyLdnzx7XOeec43Gdnn/+ea3M
v/766+tQ64y1zlK7SkpYTpzF8mjIjOe4Z0S6nxAEEb2INNbAdoC7o8C+2a5j
xcXF2YWFhVlGlJaWlnAlHT582PXqq6/yKlWqeFyf66+/nsN3Uehc+o033nh7
qHVeupT1l9pVWspOxlksj3uZcTscHel+QhBE9CLSQBP78VgU2DfbdKx169Z8
6dKlpixZsoTPmjWLjxw5kr/++uu8Y8eO/Mwzzzzl2tSvX58fOXLEJTSveMqU
Kd3tqPOvv7I3pHa5XKwkzmJ5PO19jRXejnQ/IQgiehHpeRP70TsK7JttOmYH
lSpV4u+88w4XYzBoWMmcOXNes6vO06axHrp2ZYhbU4q/cRTLo5/JdX8y0v2E
IIjoRaR7TOzHvCiwbxHXsbPOOos3adKEf/bZZzwzM1Pbcyw3N/fvL7/88mk7
6/zNN+zZggKWlZvL8sR4zJWTw3JOnmSZcRLLY7HJPWge6X5CEET0ItK5giID
+3FCcEsU2Ligdezrr7/mQm8sgfVh06ZN4wsWLOBJSUkYd3GZhH7tRhzFWrVq
NbS5zjfffTf7+dAhxjMyGC8tZTw9nfG0NOaqXZt9Gunr6TCNBHk+2h8oEJwV
6X5CEER0I9JvBjYEhBTDPVJIHQslYS8WkfalpaUt2Lhx44jhw4c/7mCdv7n6
asahY5mZjBcVaRrG9+xx34e+kb6mDvIiM25/v0S6fxAEEf2I1NPEjnwfBXbO
Mk1FeuSRR+4KhlatWjU///zzwzkOvU9QetFFjCckMDEOZHzGDMbr1WO8Rg2P
sfFtkb6uDvETM3mOinT/IAgi+hHpMhM7khoFdi7W+cDk+pf7sXEAHDb4vVhP
VivS/YMgiPIBM47rAXpEga2LZb41ufYq/aKgrnbTw+T3UhwPgiACRqQBJvYk
mZXj2B7lgEEm116lcxTU1U5uYmVty+j39o50vyAIovwg0nV+bOi7UWD3YpU2
zNhnVJIpuDUK6mon75r8XswpXhXpfkEQRPlCpBkmduVgDNrRaGK0ybUHvaKg
jnaCtnTI5Pd+H+n+QBBE+UOkawXFJrYl1tcxRZoRgpNe1/yY4O0oqJvdDGPG
7axQcEWk+wNBEOUTkb40sS/ZgvZRYANjmZaCNwSfsLL1ECHHH45COgpymXE7
GxHpfkAQRPlFpFp+bEyKoEkU2EKifNJcsJ8Zty+sk7sg0v2AIIjyjUiDTewM
wP7z5L9IWAVtZjUzb1vvRLr9EwRR/hHpbGb+Dh5MigK7SJQvfmTmbeqAoGqk
2z9BELGBSM2Yf1/wj6PANhLlA7QVs7aEttYs0u2eIIjYQqSufmwPmMrKaUx8
IixgLtHfOAx0jXR7JwgiNhFpTAA2KJGVvb+PtM0koovmzP/7MDAm0u2cIIjY
RaQzBL8HYIvgg9YxCmwnER2gLZj5JUrQts6IdDsnCCK2Eek8we4AbBL89bHu
qVEU2FEiMiBOB9Y4m63dkKBNnRfp9k0QRHwg0jWCvQHYJoC9Xvqwsjiwkbar
RHjAezDs9enPz1XVsLqRbtcEQcQXIl0oSAjQToEkQbcosLGEs2DvlZ0+7r8R
SwTnR7o9EwQRn4hUSTDWgs0CewUTBM8wWj8dC+AePiuYzMrG3lbaAuKeVYx0
OyYIghDpJUGJRRsGsP/ILMGbgicE9zDStmjmFv0ePaHfs9mCrCDuO+JP94h0
uyUIglAR6U4W+PsQM0oFGaxsHhIxr5YQEWW5fi8y9HsT6v1FG7kz0u2VIAjC
FyJVE/QX5Nhg74jYIlvQT1At0u2UIAjCHyLVFHzG/MeyImIftIFRggsj3S4J
giCsIlJdwTRWti99pO0pEV5wz38QXBnpdkgQBBEqrGy9GdaQJTLStFgG93aV
oLfgqki3O4IgCCcQ6WJWFnP4V8HJKLC9RGjgHs4TPC+oFen2RRAEEU5YmV/I
PbquDRB8JfhZsIaV7T9VHAV2Ot4p0u/FGv3eYM1Xf123WjHy2yAIIor4fxGu
LF4=
    "], {{0, 571}, {434, 0}}, {0, 255},
    ColorFunction->RGBColor],
   BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
   Selectable->False],
  BaseStyle->"ImageGraphics",
  ImageSize->{172., Automatic},
  ImageSizeRaw->{434, 571},
  PlotRange->{{0, 434}, {0, 571}}]], "Input",
 CellChangeTimes->{{3.6032978083206043`*^9, 3.6032978083214808`*^9}}],

Cell[BoxData[
 GraphicsBox[
  TagBox[RasterBox[CompressedData["
1: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
FM33FnkcY3nLHDhwYGtx3I1p06Z5He/Vq1fzGPfi+8ViRds5TxXfC1y+fLlX
PT/++CPnuypu3LhxIx/brbv66qt57jJDeNaoU6eO17a1a9fmMR/nuf2irQfE
n3aCKgGc5/xS9UuiPT/ztsKHrkGDBrnnV9u0aRM8BkCEQ/BYUKxbRwPN4zDs
qIPfG+P3x2Q9/F5Zecs8duzYFHHcDeERz7Hm3Bn8nlZKSsoaK9vPc7YIZxnm
XCGdO3fm6o3Nmzd/4GMbvj9r/POf/zT4OVl2drbXWBGG55Xh98zYRVwO59MX
fzYJJhol9wo5wTAPDuH51KaKz3cbFxa+N8njM//whz94yoPHAIh8CB4LiiVL
6E3Tu8oJdtXD+TxkPWlptLE8ZV133XV1i4qKMmJiYlyXXHLJRWMCFy9ebFme
SEb08d7hcs15qvh5WW5urks46oCPbdbJ791zzz1Gamoq992Mbt26XXR+sov+
85//uMfzZ2RkuPtovhbhUhf3PTnHiPk+KnPDDTcYx48fh8cAiHBKxweCxwLi
hx/oVfM9P86Bb0c9nF/RlDc4lfMvBlvW/Pnz3ZOhDBgwwOtY79ixg/NG5XLu
eyvbznmoOGf+tm3bvOrjuZ95ee+9954utc068/dq1qxpHDhwwP3dDRs2GPfd
d5/qXHU7ivMb8zwv9erVM8S+GOY5Qc3wHGlvvfUW+1T6b4bT1yEAIHhUcYHg
Mb989RW9aPYYz0lmRz2c757z3st61qyh/sGWJfo36/j+4U033eQ5zrVq1TJ4
8ZfHtzwkJiYu4/LN7zdzX4uX6Ojo0u+Pe3mMLvhpypQpPObe7Rx+3sZjPvid
7dLfLQvhVWPUqFGe/pvohx0Rfx51+hoEAJQPP9c9POaHYcOovdljPEe0XXXx
PGSmd9WWBFNG69atm/C4C9Hvco+jkHAuXl6mTZvW1Y62z549uzuXz/WY6+WF
5x2rXr16PdP3L/LYBXiM4u2COcaFhcf0L1682H1PlOfuvP/++91O5vuN7Ok7
77zT/e51jx493Pce4+LiXHJb8TvsF3846WMFp68/AED5UcQNeKwM+vShlmaP
vf02PWlXXTwvtOlZXCLPG61bhujHvMXzfPkiOzt7n+rd5PLCz+RycnL2q+r+
5ptvXjJ935/H5DnL+Td4zrTVwkecPziQ5fwFd40V1HP6mgMAWIsibsBjZdCh
Az1s9tinn9KzdtXVuzc9Ya5rzhzq4fT+20QgHjNTUXCfoK1R0r96VzBG8LGg
r+A/Ak6IFcjYfABAhKKIG/BYGdSrR/ea3TJpEr1kZ31ZWbRL1nXiBM1wev9t
QtdjAABAirgBj5VBxYpUxzxv8+zZ1N3O+vbto3Gyrvx8OmF13uAwAR4DAGij
iBvwWAAUFNAp6Zbly+ktO+saNYo6mvt/48dTZ6f33wbgMQCANoq4AY8FQG4u
HZFe2bCB3rWzLu7/5eXRUbvm7gwT4DEAgDaKuAGPBcCZM7TbypxRZREdTVNN
OR33Ob3/NgCPAQC0UcQNeCwA0tNps/TKnj00xu76pk+nbuZ7iwMGUGunfwOL
gccAANoo4gY8FgApKbRGOuXwYZpod301a9Ld5mdy27fTcKd/A4uBxwAA2iji
BjwWAAkJtNg0Fn56KOo8dYrmyzpFf/Anp38Di4HHAADaKOIGPBYAsbE0UzpF
+GVeKOrkcZHmvMH8PrbTv4OFwGMAAG0UcQMeC4Bjx2iKdEpSUmh+r6ZN6QFz
3mCeB83p38FC4DEAgDaKuAGPBcCBA/SlaW6wDaGqNzWV1pr8uczp38FC4DEA
gDaKuAGPBcDOnfSp9ElmJm0PVb2bNtFQU97gJM6R5fRvYRHwGABAG0XcgMc0
fZKTQ77mN7aFV1+lx8zj7+fPp15O/xYWAY8BALRRxA14LADWrKF3TDkPY0JZ
N/f/ZN083sTp38Ii4DEAgDaKuAGPBcDChfSGaexgcijr3rOHRpsdWq0a1Qtl
/TYBjwEAtFHEDXgsAL77jv5rvr/H7ymHqu5PPqEO5rq//pr+4/TvYQHwGABA
G0XcgMcC4PPP6XmzS5o3p8ahqrtCBaqTm0uHZd2HDtHXTv8eFgCPAQC0UcQN
eCwA3n+f2po91q0bPRbK+o8epclOjDOxEXgMAKCNIm7AYwHQvTs9bvbY4MHU
JpT1T5tGXc31DxlCTzv9m5QTeAwAoI0ibsBjAdCyJT1k9sjYsdQplPXfeCPV
Lyigk7J+fp/N6d+knMBjAABtFHEDHguAWrWogdlj3D8KdRvi4miOrD8jgzY7
/ZuUE3gMAKCNIm7AYwFiznXoxPvIixdTH7NLO3emR5z+TcoBPAYA0EYRN+Cx
AMnPp1jpkFWr6O1Q19+oEd3P767JNmzYQO86/ZuUA3gMAKCNIm7AYwGSk0OH
pEOioug9J9qQnEyrZBvEf690+jcpB/AYAEAbRdyAxwIkK4t2mOZnHuFEGzZu
pCGmvCJJ995L9zv9uwQJPAYA0EYRN+CxAElLoyjpkP376XMn2tClCz1qfka2
aBH1dvp3CRJ4DACgjSJuwGMBwvfxpD+OHqVJTrUjI4O2ynacPEmznf5dggQe
AwBoo4gb8FiAxMfTAumPmBj6wal27NpFI2U7+J2yG26IyLzB8BgAQBtF3IDH
AuTECZoh/SGcttCpdgwd6p0ja/Jk6uL0bxME8BgAQBtF3IDHAuTIEfpGuiMl
hVY72ZacHDoo28Ltcvq3CQJ4DACgjSJuwGMBsncvjZPuSE+nn5xsy+HDNFG2
JTeXDjn92wQBPAYA0EYRN+CxANm2jT6R7sjKol1OtmXSJHrJfG/xo4+ovdO/
jybwGABAG0XcgMcCxPzuFs8H5mRbeE5oc36R3btplNO/jybwGABAG0XcgMcC
ZMUK6mceJ+h0e2JjaZZsT2Ym/ex0ezSBxwAA2ijiBjwWIHPnUk9TLo1UnqfZ
yfYsXEhvmO8tdu1KzZ3+jTSAxwAA2ijiBjwWIFOmUBezN2rXpnucbE+9enQv
56ZyOudjkMBjAABtFHEDHguQUaOoo9ljbdpQE6fblJREK8LlXQBN4DEAgDaK
uAGPBciAAdTa7LHXX6cnnG7T+vU0yHSvM/nBB6mR020KEHgMAKCNIm7AYwFS
Okfvhx9SO6fb1LEjPWxu09Kl9KbTbQoQeAwAoI0ibsBjAdK0KT1gdsb48dTZ
6TYx6em0SbYpLo7mOd2eAIHHAADaKOIGPBYgnI/X7LEZM+gVp9vE8FxopvcB
4m68keo73aYAgMcAANoo4gY8pkFh4S/jAxcvDo+5vwYN8n5u9+239F+n2xQA
8BgAQBtF3IDHNMjLo+PSF2vX0gCn2yPJzqb9sl3HjtEUp9sTAPAYAEAbRdyA
x4L0xebN9IHT7ZEcPEgTTDmzjjj9jnYAwGMAAG0UcQMe04DzP0lf8HyWTrdH
MmECvWC+tzhiBD3jdJvKAB4DAGijiBvwmAanT9OP0hWiDzTe6fZIqlaluvn5
FCPbtmcPjXG6TWUAjwEAtFHEDXhMg6QkWi5dER1NU51uj5mYGPreNK/Mdqfb
UwbwGABAG0XcgMc04PezpCtOnqTZTrfHjDmPMdO9Oz3udJv8AI8BALRRxA14
TIPjx+k76YnERFridHvMcN7iwkJKlO3btImGOt0mP8BjAABtFHEDHtPg0CH6
WnoiNdUdix1vkxnh1qXh3D4T8BgAQBtF3IDHNNizh0ZLT2Rk0Ban21MafqfN
lDc4pVkzaux0mxTAYwAAbRRxAx7TYOtW+lh6Ijub9jrdntLwXDI8x6dsI89h
7XSbFMBjAABtFHEDHtPgxx/pXemIvDw65nR7fJGWRlGyjfHxtMDp9iiAxwAA
2ijiBjymwbJl1Fc6orCQ4p1ujy+2baNh5jbecgs1cLpNPoDHAADaKOIGPKbB
rFnU3Ty2vXJlusvpNpXm7bfpyXDMy18KeAwAoI0ibsBjGkycSP8xO+Lee+l+
p9vkizNnaI/pfe1pTrfHB/AYAEAbRdyAxzTgvIVmj3XqRM2cbpMvDhygL83P
8SpWDLu8wfAYAEAbRdyAxzTo149amT3G/3a6Tb4YN446mds5ahR1dLpNpYDH
AADaKOIGPKYB978iIa88P7cT/bBo2c59+2ic020qBTwGANBGETfgMQ34eZjZ
Y/y8zOk2qTDn0MrKol1Ot6cU8BgAQBtF3IDHNOB+jtljPH7R6TapmDmTXjO3
tXdvesLpNpmAxwAA2ijiBjymCb+TJd3A75M53R4VtWpRA3Nbt2yhj5xukwl4
DACgjSJuwGOa8Pg/6QbO7+F0e/yRkECLZFt5DlCn22MCHgMAaKOIG/CYJpxX
UbqB8y063R5/rFpFb5vzBrdoQQ/6+l6FClSnZk26O4Rtg8cAANoo4gY8pgnn
uZdu4Pz3TrfHH+wt9pdsL3vN1/fmz6deIZ53Ex4DAGijiBvwmCY8r5f0As9H
5nR7yoLvJ5rmsF4q1nUSDBFMEay+/HKaExNDsS1bunPjtxCEol8GjwEAtFHE
DXhME54HWnqBx7Y73Z6ymDyZZgqXFSUlkevECTIqVvQ+/s88Q4bYJ+O22zzr
XIJDgvECu96PC1uPieVywXWCCk63BQDgjSJuwGOaiD7NbOmxuDia53R7FDwk
2Co4+7e/lXhK8sgjvxz7K68kY9eukvX//Kfy/EgWTBVYOSen4x4TSwXBA4IP
BTwG5oggg0o8LttzRnBCsFgwQPCwoJLT1zIAv1UUcQMe0yQ6mqZKj4k+znKn
2yPp3JkeEX/rCZYIzpuP8caNv3jss89+Wd+t2y/r69RRnh+SHMFosua+o2Me
E8ttghkX9qesffYFu437qvWcvqYB+K3h57qExzQ4eJDGm8ayb3C6PZLmzen7
mTPpvC8f9e//i6/27yfjssvIuOYaMg4dKlmXnn6lkZQ0z9i0aZMxbdo0o337
9uLza/z1z8o7z3TIPSaWvwomC84p6g6G1YL/5/S1DcBvBT/XIjymwa5dNFJ6
LDOTtjndngts5mM5aFCJlyZNIuPWW385xnfd5X1vsX59Mvr2/eXf7DHD2GCY
l6KiImPZsmVGy5YtVefNt4Jg518LqceoZPxKrqLO8nJW8J7T1zcAvwX8XIfw
mAabN9MH0mM5ObTf4fbw/GcJ8lj+7ndkiPa53RQfT8aoUWTceCMZl15Kxp49
v3jrww/JOH6cjIQEs8dWG6qF+2n33Xefr3MnSnBfEO0OmcfE0otK3Wf1wW7B
CEEPKhnbws/BWgq6CN4RfC/I8rP9AaevbwB+C/i5BuExDdaupQHSY/n57jEA
TrXlUUF+6ePZsOEvfmJOniTj/ffJGDv2l3WHD3v3z0o8ttwoa5k1a5ZRuXLl
0ufPiQttCTuPUcn7Barznp9zsaOqB1gWjwvh8TPcDy3tRXgMgBDg53qGxzRY
vJh6m3JkJDnUDh7Pkak6ph9/7O0pJjbW+99m15V4bKERyHLgwAHj5ptvLl3n
YUFDjfbb7jGxPEbeYw/NTBRcV46y7xAsIHgMgJCiinkEj2kxYwa9Ys4jf+ON
VN+Bdhz0czxFn6lkPD3fW/TlrdKUeGyuEeiSkZFhNG3atHS9qwSBzjttq8fE
cpMgXVHHOxZeU22oZNwjPAZACPAT9+AxDcaPp85mjzVrZul7VYEw18+x9PDQ
Q2pv+fbY94bOkp+fb9StW7d0vV8EuA92e2yFovy3bbiueBz/bKevbwB+C/iJ
efCYBh9+SO3MHuvalZqHsP7n/RzHixgzRsdj0wzdJTEx0fjzn/9srpPv4z0X
wH7Y5jEq6RP6KnuT4FKbrq3LnL6+Afgt4CfewWMavP46PWH22KBB1DqE9Z/y
cxwvomrVkvfFzPcX1R77xghm2bFjh1GxYkVzvdsD2A87PTbTR7k8Nv5Wp69B
AED58BPv4DEN2rShJmaPjR4dUP/DCvr4OYZKWrQItD823gh2GThwYOl6e5Sx
L7Z4TCw1yfcY+zlOX38AgPLjJ9bBYxrUrk33mD02dSq9HKK6M/wcQ79MnBiI
x8YZwS45OTnG9ddfb64zmvy/I22Xx15RlPuQ09cfAKD8+Ilz8JgGPOdkURGl
So/Nm+d+z9buet/yc/zK5PrrS94ZU91fLPHYZ0Z5lrFjx5au9w0/+2OXx2b4
KDPe6WsPAGANfuIcPKZJQQGdlB5buZL+F4I6d/g5fgHRrl1Z/bFhRnmW4uJi
48YbbzTXucjP/tjlsXgfZc51+toDAFiDnxgHj2mSm0uHpceiotw5I+yus9DP
8QuY6dP9eWyoUd7l9ddfN9fH+TJU9xYt9xiVvDPmq8x+Tl97AABr8BPf4DFN
srJol/TY9u003Ob6XvJz7LSoUcM7r6K3x941yrts3LixdJ1dFPtkh8caKMp8
xOlrDwBgDX7iGzymSXo6/SQ9tm8fjbO5vtV+jp02L7yg6o/xK8LlW86fP29U
r17dXN+3in2yw2OPKcqs6/S1BwCwBj+xDR7TJCWFVkuPHTlCk2yu77ifY6fN
JZeQMW+eL4/1NaxYnnvuOXN9UYp9ssNjzynKvMXpaw8AYA1+Yhs8pkl8PC2U
HouJcc/pYWd9aX6OXVD83/+V5MH39tgLhhXLO++8Y67rsGKf7PBYT0WZ1zt9
7QEArMFPXIPHNBHu+kF6jJ1mc30Ffo5d0PTo4e2xoqKnjczMzHIzbNgwcz3p
in2yw2O9FWUGndceABBe+Ilp8JgmR4/SJOmx5GR3nnc76ytrDsiguOwyMqKi
fhnz8eWX1tdBJfkWfY1ZtMNjLyjK/JvT1x4AwBr8xBp4TJP9++lz6bG0NOUz
IKuwwy9ubruNjLi4Eo99841t9TziY5/s8FhLRZl3On3tAQCswU+cgcc02b6d
RkiPZWXRTpvrK/Jz7MpNnz58X5GMqVNtq+NeH/tkh8fuU5SJnFQA/ErwE2fg
MU2ioug96bHcXDpkc31H5bF65plnjHXr1llCixYt3GXedFOJx77/3haHuRT7
ZIfH/q4os4fT1x4AwBr8xBp4TJNVq+ht6THOUWVzfT/JY/X8888bVi1du3Z1
l9m7d8kzslmzbPFYkWKf7PDYJeQ7l/K3Tl97AABr8BNr4DFN5s+nXtJjRUWU
YnN98+Sxatq0qWHVwh679FIyduwoeT7WpYstHstS7JPlHrtwji/0UeYRp689
AIA1+Ik18Jgm06ZRV/PcLXfcQQ1trG+MPFaVK1c2Cgs51Jd/YY81afLL2Psn
nrDFYycU+2SXx95UlFvb6esPAFB+/MQaeEyTsWOpk9ljTz1FD9lYX3vz8Vqy
ZIlhxcIemzTpF4+99ZYtHvtGsU92eexfinLHO339AQDKj59YA49pMngwtTF7
rGdPamFznQnyeHXp0sWwYnnzzU5e+YKXLrXFYw8q9scWj104z9f7KDdX8Aen
r0EAQPnwE2vgMU26daPHzB4bOpTa2lzndHm8eN5lnuurvMsPPzT0yrHI82z6
OUeC4bSf/bHTY48qyv7B6WsQAFA+/MQbeEyT5s2psdljX3xBnW2us4v5mI0Z
M8Yo33LeiI2tdlHe+2uusdRj8/zsj20eu3Cu71GU/7QN19V1gs+cuq4B+C3h
J97AY5rUrEl3mz02fTp1s7lOzu3keY+M+2Q5OTlG8Mt6Iyur0kUeq1/fModx
Li1/zwzt9lg9QbGP8jlXZUsLr6k6gljBAaevbwB+C/iJOfBYEBQVUbL02KJF
7hy1dtfZ3XzcBg0aZAS/vOTTYzw3mZ/zRIflZeyLrR67cL6/rqjj3IXf8tJy
lP17wYf0yzzd8BgAIcBPzIHHgiA/n2Kkx9asof4hqne7PG6VKlUy9uzZY+gv
qYIbfXps2DBLHHZWcHcZ+2G7xy6c8/P9tPOA4EnS8JlYrqeSsf3ppcty+voG
4LeAn+sZHguCnBw6KD22aRMNDVG9PFekSx67v/zlL0ZqKntJZxkruOEij8XH
kyH6lVZ4bFoA+xEqj10p+K6M9vJ4FJ63upPgfsHtVOKrmoIGVOK6QYKfzb99
KeAxAEKAn+sYHguCrCzaLj22cyd9FsK6vzEfv3vvvdcoKioyAltcggaCP/ns
jx0/XjJftJ9zpSwSA9yHkHjMdO4PILWDrOAbp69vAH4L+LkG4bEgSEujjdJj
Bw7QlyGsm8d8/Gg+hk899ZSRn59vlL1sNLgv5qs/JvnrX4OO5flU0p8JO49d
OP+bCnYGuW8qDgoedvraBuC3gp9rER4LguRkWik9duwYTQ1x/TwXSrT5ON51
113CQ4mG/6WrUZbHmjcPKp7z+MRnNdofco9duAY4lzC/63cwiH2UcL9uJZXk
Wbnc6esagN8Sfq5LeCwITp2i+dJjsbE0y4E2cA6RVPOxrFGjhrF582bD95Iu
uMkoy2Oc/97PuaKK64M02+6Ix0pdD7cKXqWSsSCc69nfvNs8pwG/i/6a4C9O
X8sA/Fbxc43CY0Fw4gTNkB5LSKAlDrWD51o+YD6el1xyidG+fXvj+PHjhvfy
hSEdpvIY56nSnBea39F6NYh2O+4xH9fHZVQyvuP/Ce4R1BbcJKjs9LULACjB
TyyCx4Lg8GGaKD2WmkprHWwLj6lbWfq4XnHFFUaPHj2MY8eOGSXLPQaP7yir
P7ZlS8AO4zlZHguyzWHnMQBA+OMnHsFjQbB3L42VHsvIoM1Ot0cwmkryVVx0
jJ999m9GdvbVRnExp8r17zHuk119dZkO208lOTOCbSs8BgDQxk9MgseCYNs2
GiY9duaMO5+f420SNBPMpVLPesaM8XZVcvKlbnx5jKlTR3mu8HMkK3JwwWMA
AG0UcQMeC5ING2iw9Fhenjv3oeNtMvGUYLXgXJUqZMTGer/vbJ6vRfbBzP/u
1MnnPUTdsRz+gMcAANoo4gY8FiQrVlA/6bHCQop3uj0KHhg9mualpVFhUhK5
2FfR0SX5p6SzTpwg4+jREr/JdR9+6D4vMgSLBe1saBc8BgDQRhE34LEgmTOH
ephz3les6M597ni7SiPzjhQV0enkZDrRvDl98s03tD4zk/JTU+nstm1U2KIF
nTh9mgozMihffD9HOG2Tze2CxwAA2ijiBjwWJJMnUxezxxo0oPucblNpRo2i
jrJ9KSm0plkzaszrjx+n70qPtdyyhT6U6woK6GSFCrZ6GR4DAGijiBvwWJCM
HEnPmj3WsSM97HSbSiN9dfQoTapW7ZfxhUlJtEy2++RJmi3Xx8TQ93J9167U
3Ma2wWMAAG0UcQMeC5L+/ekps8f69qVWTrfJDPcP8/Mpdt06d45cr88yM+ln
2e6DB2m8XM/zg6alURSv/+GHoN5vDhR4DACgjSJu+PTYv/71r3v27NkzOhh2
7tz5aVRU1HsrVqzoN27cuE61atVqEMr4PXTo0Laqtm3duvVjq+p58UV6xOyx
Tz6hDk67y8zcudTz88/peV+f5eVRtGw33080f9amDTXJzaXDO3fSpza2Dx4D
AGijiBs+Pfbss89yDm9LFpfLdT43Nzf64MGDE/r27Wt7nyUlJWWVv/YMHz7c
Et88+CA1Mnvs66/pP067y0zlyu68+Betv+EGqldURKmy3YsXU5/S3/noI2of
G0sz4TEAQDgRjMemTZtmiL6ZFnXr1jWaNGninkukT58+xvTp041Tp07xxFfu
JTk5eVWnTp2a2REfmzdv3vj8+fNnRX/wonZxzkFeTpw4McOKuvh5k9ljM2e6
c8g67q+y6NzZux85YQK94Ot7PEYEHgMAhBPBeOzTTz9VbaMF56594IEHjNmz
Z3OxxtmzZ/OF36zIC+HFtm3bPuHyhSd9tuPIkSOu4uLi7Bo1atS3or7CQkqU
Pli61D3fveOeKosRI+gZs8f69KGWDrQDHgMAaOPHMwF7rGbNmkatWrWU/P3v
fzeuueYav05r2rSpkZGR4RL9puKZM2da2ofJzc09mpOT46pUqZLHnw8++KCn
7rfeeot3y1i2bFlfK+ozP2dav97SfBe2MWsWdTd7rF4991xm8BgAIOzx45aA
PSb6M0YgS15enuvo0aPG999/777PWLrO2rVru11WVFSUcb9YrIiNI0aMeIbr
njBhgqeexo0bG+vWrfP8+09/+pNx7tw5Iy0tLcqKOrOzaZ/0wdat9JHTjgqE
H3+kd03viZ1yqB3wGABAG0Xc0PZYcXFxunDUJBWnTp2al56evlm47IQowv1c
bP369cZf/vIXr7I6duzIH/E8Wd9aERtjYmJ+4PIaNGjgqWPy5Mk8zsT461//
6lm3ZMkS99gTK57Rmcev797tzjfvuKfKgtsZBvmN4TEAgDaKuKHtsdzc3MOB
xquBAwe2jouLmyeKcv3888/uObHM5e3bt8/dJ6tUqZLPsXWBIjx1Nz/3Onz4
sEuWfdVVV3Fb3R4dMGCAp87WrVvzKmPv3r1jyhuPT5+m9dIJhw7RVw45QQtf
uTwcAB4DAGijiBu2ekwi/PI1lzd8+HCv8t59911ebXz++efPlycurly58n9c
zptvvnlRf4+X6Ohoj9/YpaK/6MrPzz9Z3nicmPhLXgz2g0NOCLrN5lweIQYe
AwBoo4gbIfFYlSpV7iooKEiMiYlxmctr1aoVV8P3HQeWJy7yfcxz5865qlev
7il71apVBo/BT0hIWMR1NGzY0PPZqFGj3PVOmDDB55jzQImLoznSCeK/5zrk
BC1UuTxCDDwGANBGETdC4jGG30/mZ1WVK1f2lFevXj2uxti1a9fIYGNily5d
HhXluhYsWOAp989//jM7zEhNTV378ccfu18c+/LLL73GmfDCz/LKE4+jo+lb
6QTOWeiQE7Twl8sjhMBjAABtFHEjZB47fPjwRC7z3//+t6c87iPxsmPHjhHB
xsT9+/d/zmVw306WK8fXC7e9wd/h8fhZWVmuK6+80vOdnTt3ut9j4xxcwdYt
+jMTpBNOn6YfHXJCwPC722Xl8ggR8BgAQBtF3AiZxxITE5dxmVWrVvWUJ+rh
VcbChQvfCKbMChUq1CkoKIgX/S6X+G9PuQcPHuT3nbOqV6/uzvHOnuR6nn76
ac93XnvtNXfd5bmnuXs3jZJO4Pt1TvkpUDp1omaB5PIIAfAYAEAbRdwImcfy
8/NjOD+Vubz+/ftzNQbf+wumzClTpnTh7c3jR+rUqeMu05x/qm3btk1cLte5
xYsXe7537bXXGkVFRS7RT9sebDzesoU+kk7Izqb9DjkhYMIklwc8BgAICkXc
CInHOM88lzdx4kRPWZdeeqlx4MABV3nu7SUkJCzmcm+//faLxnCMHDnSKz/g
6dOnN/BYkD/+8Y+e786cOZO/6urVq1eLYOpft44GSifk5dFxp/wUKGGSywMe
AwAEhSJu2OqxZs2aPbBv375xPG6Qx76bc1bJvL08Jj+YWNiwYcP7hJcKt2zZ
4imT7y0KX7n4HezS31+6dGlfru/111/3fP+RRx5xt+HQoUNBvfu1ZAm9KZ1Q
WEhJTjoqEDh3lqm98Q62BR4DAGijiBvaHisqKkrZvn37cF9s27ZtmPDW53Fx
cXM49xN7hsvh+4k8RlCWw+MUU1JSuC+W16RJkweCiYU//fTT+1x2165dPeU+
8cQTvMrYvXv36NLfv/CudI74zKtPKPp0rsLCwpRg3sXmuSbN/RueE8VpV/kj
THJ5wGMAgKCwymOBLpxjcdOmTUaHDh2Myy+/3L3973//e/f4CuENdljB/Pnz
Xw82Fp45c2ZvQUGBq0qVKp72cT59HoPfuXPnR3xtc/LkyVnctn/+85+ebT74
4AN3e2fMmKGdf/+rr+hFs8eaNqUHnHaVP8zvCTiYywMeAwAEhRUe434Uz7+i
olGjRsY//vEPt6/kNtdff73x0ksvcY55HufuzhMlPHa6PPNZcr4rLofnR5P1
8DhIHreRkZGxRbUd5w3h7UaMGOHZ7pZbbuFVRlJSkvb7X8OGUXuzx7p0oUed
dpU/wiSXBzwGAAgKRdzQ8pgut912mzFr1ix+pmbIhXP07tix49Py5FQ8duzY
VC6L89nLuv773/+6y1+zZk1/f9uKfuLJ5ORk12WXXebZduPGjZwHv0iU10in
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
2lezxZ8xXHmWMrAbpGNhIC2NLZQ6tHs3+95KXqdieUgda9OmjVG7CAi0x5tu
uom/8847fOfOnVr7KyoqOrFkyZJ+JucPVMdqCH4QuJC+//57fvPNN/MKFSpY
rmeNGjX4iy++CDut1VEUl8vL5jNOeeYrz0DH1q9fH9I9BRdffDHv0KEDnzp1
qtuuiARR+T8H6n0W7seGDRt81mXNmjW4X3niuLMjfX2jmNPFvU/bv3+/y1f/
+PXXX3ENSx26f6A6L5vXLxXn4T/++CNv2LBhUH21evXqvFu3bnzdunWyr+aL
P/0EVU3ykY45zIEDbJay/mumlbzq/mV2xvKwS8e8eeCBB7joS9rz/NatW8cY
nD8QHbtStN9klIOxQv369X2er3Llyrxu3br81ltv5W3btuXt27fnjRo14nXq
1NG+85UHvxljSb2P7IkCG2QbdumYyoUXXsjHjRuHa4Vn5BRxnsttrjfmL3mP
Hj3c58Szuvw3bJqeno309Y1i2uICDRw40Oc1xNyEnno7cO46om38hcIxnsb4
yqivXnXVVR59Ff8266v33HMPT0pKkn31gEk7JR1zmJQU9oPUIjE2m28lr1Ox
PHzp2Pnnn88xX2fGpEmT+Icffsh79uypzQXAxnm3KZQjxz3Lly8f5OP8/nTs
VmEvjwr4q6++espxNWvW1M6PZ8yCggL3vKZ3wpzn77//zl977TV+zTXXeJRR
sWJFbQ5D9I2SKLBBtuFLx7p06eL3vo4ZM0YbUz/99NP8P//5j09b8cwzz0DH
pJZVtbHeywoLC13nnXee+1wTJ050//vcc8+VY8Llkb6+UcxMPGdcccUV7us2
fvx4ftppp2n/xrxJZmamS382tPO8t4j2cAQFv/HGGz6fgfB8An3Lz8837avC
JvHXX3+dX3vttR5lnHHGGRz9GMnAbpCOhYEdO9g4qUVHj7I/reR1KpaHLx3D
XLXVBB35/PPPtTGR2q4wj5eamuoqKirK9vG+zEzHrhZdIicvL68Uz2zq93i+
7NevH8/NzdXGe+K4AvFnvuBDwau8zI/jEcErgo8Es/X5Qy1hXPevf/3LXd70
6dPjQse+/vpry/d1y5Ytrk6dOml6r5aFZwI9vW9Tna9GYZi/lOf497//rZ1A
vVc//PCDPO81Eb7GH/CytuVNpQjW6ULRjoth6+X1whgHutaiRQv3Z6NGjZLX
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
HvE6Vls4hpgt8ljEt9HTDxbO+QQyPPbYYx7tS49/mRmO3818axjpWBho1ow1
VXVs4kTWJZB8qansZydieYBQdKxWrVoNe/To0RbrxtLS0ubDd917PSTezYty
EA8/94477mjmVYZbx7799lvtnKJMd94zzzwTvot4rvw5zLbBm4t5lCRxjY/x
AOocoo5Bl7C3QA9Rzm5kwF4BWNMly8IeA3oaHEh9fFAZvwVaKMuEXyrG7eKc
qfzUea4K4vOD+F5dj4F5MvE5bGdY42hEiY6dJuqxF+vr1Huzdu1aGSP+lDXH
4vgt8P+AH4g8HvO1+vqTcwM871f4oarPCMrT/R/D4i/FSMciRo0a7BZVx2bO
ZC8Hks+pWB7Mj45hnzHojy8w7uJlvk7utGjRIt6yZUuPOSLMoeM7Ma4a4eP8
bh2D/5kYx3m0Sfh46+mdcNooH2g6hnUyiDsYKbZu3Yp7ErKOCZt1woR89Z6K
e1KK9VpqzEP4Cuixgg9bsH3eIBYRV2PxNW3aVJ7WKFaHNgmG42Set956S+bp
GM42ESU6hpgX/OOPP3bX4x//+Iesh1GsDi2gGGKiyjzPPvuszPNCgOddjPVh
attSYoQMCMdvZ741jHQsTJw8yQ5KTVq4kPUOJE9ODvvLiVgezEDHEP8FumIG
1qJgbTP6EOJ/yhh4iFeNOY4JEybI9/CliYmJHxuc361j8O8QmufRJrH2VU9P
h9E2+ELTMfhcMuP+4zjQ0VB0DLFX/d1XrD/Hew/ExHvkkUe4XPeMNVtvvvkm
9tDQbgjihok/tUO4pgsx1r7ooot8acE/DPJgT2/tOJkH+8qEcU8tN1GiY1pw
AaxXkfVQ3nc1Mchzkff6zrPPPluL9yFSYoDnXZ+SkuLh43HnnXfK83YJx283
6SekY2EgL4/9LTUpIYH5igHvgR7LI82JWB7MQMeCAfsqYK2qeE6T7RnzDFlT
p0590eT8bh1LTU3V/NTUMmFH9XR/GG2DL2JCx6yCMRjiMW/atIl7Jax7DsVe
Y8DvYUuhl/BbFGmtWV7YWhynxhWZN2+e03tq+apHpHWsOuJbrFy50l0HvLNE
7CZ9D6LTTPLOgx+IukcFnjv19M8AfvtevAtT2wrGd3p6MBy/36Tdko6FAfgb
Sk1au5YN8Xd8mzbsDnUuctw4+2J5MBt1DLEdENN3+PDh7phuSFlZWWteeeWV
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
CV1CqXN29v90Cz4ecRbLg3SMIIigMLAbpGMGFBQUpP71118e1wrrp5HWrl07
JJQ6I869Oo8YZ7E8AOkYQRCWMbAbpGMGZGZmriguLnYhzocsF2vLkHbs2PFN
KHU+epT9KXVr3z42Q9WxPn1Yh0hf0zBAOkYQhGUM7AbpmAEnTpzYfOzYMZd6
rWrWrKmVm5KS8mModU5LY/OlbqWns9/jLJYHIB0jCMIyBnaDdMwA7NOCmB7q
tbruuuu0crdt2/Z5KHWGb72yl+baOIvlAUjHCIKwjEguA9uREAV2LWic0LGX
XnqpHfKPGzfO41q1atVKKxf+jKHUefdu9r3UrtxclhRnsTzAcua7LeZHup8Q
BBG9iJRuYDuSosCuBY0TOpaRkbEc+e+9916Pa4W9XZCGDh36aCh1Vn07CgrY
/jiL5QF2MN9tcV+k+wlBENGLSBsNbEdGFNi1oLFTxy6//PJbk5KSxiLv+PHj
Pa5ThQoV8F7MVVBQcCjUOm/axEap78TiLJYHyGK+2+KqSPcTgiCiF5HmGdiO
UoFt+2uFm1B0DPuKiWNbjxs37lnsD33y5MmjyLdnzx7XOeec43Gdnn/+ea3M
v/766+tQ64y1zlK7SkpYTpzF8mjIjOe4Z0S6nxAEEb2INNbAdoC7o8C+2a5j
xcXF2YWFhVlGlJaWlnAlHT582PXqq6/yKlWqeFyf66+/nsN3Uehc+o033nh7
qHVeupT1l9pVWspOxlksj3uZcTscHel+QhBE9CLSQBP78VgU2DfbdKx169Z8
6dKlpixZsoTPmjWLjxw5kr/++uu8Y8eO/Mwzzzzl2tSvX58fOXLEJTSveMqU
Kd3tqPOvv7I3pHa5XKwkzmJ5PO19jRXejnQ/IQgiehHpeRP70TsK7JttOmYH
lSpV4u+88w4XYzBoWMmcOXNes6vO06axHrp2ZYhbU4q/cRTLo5/JdX8y0v2E
IIjoRaR7TOzHvCiwbxHXsbPOOos3adKEf/bZZzwzM1Pbcyw3N/fvL7/88mk7
6/zNN+zZggKWlZvL8sR4zJWTw3JOnmSZcRLLY7HJPWge6X5CEET0ItK5giID
+3FCcEsU2Ligdezrr7/mQm8sgfVh06ZN4wsWLOBJSUkYd3GZhH7tRhzFWrVq
NbS5zjfffTf7+dAhxjMyGC8tZTw9nfG0NOaqXZt9Gunr6TCNBHk+2h8oEJwV
6X5CEER0I9JvBjYEhBTDPVJIHQslYS8WkfalpaUt2Lhx44jhw4c/7mCdv7n6
asahY5mZjBcVaRrG9+xx34e+kb6mDvIiM25/v0S6fxAEEf2I1NPEjnwfBXbO
Mk1FeuSRR+4KhlatWjU///zzwzkOvU9QetFFjCckMDEOZHzGDMbr1WO8Rg2P
sfFtkb6uDvETM3mOinT/IAgi+hHpMhM7khoFdi7W+cDk+pf7sXEAHDb4vVhP
VivS/YMgiPIBM47rAXpEga2LZb41ufYq/aKgrnbTw+T3UhwPgiACRqQBJvYk
mZXj2B7lgEEm116lcxTU1U5uYmVty+j39o50vyAIovwg0nV+bOi7UWD3YpU2
zNhnVJIpuDUK6mon75r8XswpXhXpfkEQRPlCpBkmduVgDNrRaGK0ybUHvaKg
jnaCtnTI5Pd+H+n+QBBE+UOkawXFJrYl1tcxRZoRgpNe1/yY4O0oqJvdDGPG
7axQcEWk+wNBEOUTkb40sS/ZgvZRYANjmZaCNwSfsLL1ECHHH45COgpymXE7
GxHpfkAQRPlFpFp+bEyKoEkU2EKifNJcsJ8Zty+sk7sg0v2AIIjyjUiDTewM
wP7z5L9IWAVtZjUzb1vvRLr9EwRR/hHpbGb+Dh5MigK7SJQvfmTmbeqAoGqk
2z9BELGBSM2Yf1/wj6PANhLlA7QVs7aEttYs0u2eIIjYQqSufmwPmMrKaUx8
IixgLtHfOAx0jXR7JwgiNhFpTAA2KJGVvb+PtM0koovmzP/7MDAm0u2cIIjY
RaQzBL8HYIvgg9YxCmwnER2gLZj5JUrQts6IdDsnCCK2Eek8we4AbBL89bHu
qVEU2FEiMiBOB9Y4m63dkKBNnRfp9k0QRHwg0jWCvQHYJoC9Xvqwsjiwkbar
RHjAezDs9enPz1XVsLqRbtcEQcQXIl0oSAjQToEkQbcosLGEs2DvlZ0+7r8R
SwTnR7o9EwQRn4hUSTDWgs0CewUTBM8wWj8dC+AePiuYzMrG3lbaAuKeVYx0
OyYIghDpJUGJRRsGsP/ILMGbgicE9zDStmjmFv0ePaHfs9mCrCDuO+JP94h0
uyUIglAR6U4W+PsQM0oFGaxsHhIxr5YQEWW5fi8y9HsT6v1FG7kz0u2VIAjC
FyJVE/QX5Nhg74jYIlvQT1At0u2UIAjCHyLVFHzG/MeyImIftIFRggsj3S4J
giCsIlJdwTRWti99pO0pEV5wz38QXBnpdkgQBBEqrGy9GdaQJTLStFgG93aV
oLfgqki3O4IgCCcQ6WJWFnP4V8HJKLC9RGjgHs4TPC+oFen2RRAEEU5YmV/I
PbquDRB8JfhZsIaV7T9VHAV2Ot4p0u/FGv3eYM1Xf123WjHy2yAIIor4fxGu
LF4=
    "], {{0, 571}, {434, 0}}, {0, 255},
    ColorFunction->RGBColor],
   BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True],
   Selectable->False],
  BaseStyle->"ImageGraphics",
  ImageSize->{172., Automatic},
  ImageSizeRaw->{434, 571},
  PlotRange->{{0, 434}, {0, 571}}]], "Output",
 CellChangeTimes->{
  3.605993222686267*^9, 3.6060374056793003`*^9, 3.608470117033205*^9, 
   3.608839518347321*^9, 3.6125223320689106`*^9, 3.612542811271837*^9, 
   3.612543287787484*^9, 3.6125438699606953`*^9, 3.612544219184614*^9, 
   3.6125448160762978`*^9, 3.612545524523135*^9, 3.6128084137852387`*^9, 
   3.612832814767111*^9, 3.612834354846198*^9, 3.612871585178628*^9, 
   3.612873853694457*^9, 3.6128845056895494`*^9, 3.6128848517291503`*^9, 
   3.6128855374157124`*^9, 3.6131491101924715`*^9, 3.6131495872593555`*^9, 
   3.615832978078128*^9, 3.6169358744549246`*^9, 3.6169362858210573`*^9, 
   3.616943562189621*^9, 3.6169489361079597`*^9, 3.616953116478955*^9, 
   3.6171023820604696`*^9, 3.6200653167676234`*^9, 3.6200685830676727`*^9, 
   3.620735804918049*^9, {3.620736062774049*^9, 3.6207360889990487`*^9}, 
   3.620736175287049*^9, 3.620736205829049*^9, 3.620749701556049*^9, 
   3.6207497552640486`*^9, 3.620749795649049*^9, 3.620749847674049*^9, 
   3.620759507350049*^9, 3.6207611592880487`*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Coordinate Conventions", "Subsection",
 CellChangeTimes->{{3.60329848306194*^9, 3.603298486635306*^9}}],

Cell["\<\
We use the humanoid frame designation. You can get the same by placing your \
right hand on your chest, point your thumb \[OpenCurlyDoubleQuote]x\
\[CloseCurlyDoubleQuote] forward, point your index finger \
\[OpenCurlyDoubleQuote]y\[CloseCurlyDoubleQuote] to the left, and your middle \
finger \[OpenCurlyDoubleQuote]z\[CloseCurlyDoubleQuote] up\
\>", "Text",
 CellChangeTimes->{{3.603298490042324*^9, 3.603298578884993*^9}}],

Cell[CellGroupData[{

Cell["x - Forward", "Item",
 CellChangeTimes->{{3.603298512731841*^9, 3.603298515480319*^9}, {
  3.603298580682287*^9, 3.603298582701511*^9}}],

Cell["y - Left (zeroed out for the planar case)", "Item",
 CellChangeTimes->{{3.603298583106081*^9, 3.603298591787472*^9}}],

Cell["z - Up", "Item",
 CellChangeTimes->{{3.603298592376502*^9, 3.603298593419983*^9}}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Angle Conventions", "Subsection",
 CellChangeTimes->{{3.603298338637128*^9, 3.603298340723537*^9}}],

Cell["\<\
We have designated angles so that positive angle displacements cause flexion \
(i.e., all positive angles cause the robot to lean back)\
\>", "Text",
 CellChangeTimes->{{3.6032983446902742`*^9, 3.603298347315378*^9}, {
  3.603298398458075*^9, 3.603298411488702*^9}}]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Initialization", "Section",
 CellChangeTimes->{
  3.504390830432091*^9, {3.513011606627004*^9, 3.513011611923624*^9}, {
   3.513011744096037*^9, 3.513011744363876*^9}, 3.514056528643134*^9, {
   3.620735666391049*^9, 3.620735680914049*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"SetDirectory", "[", 
    RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}], "\n", 
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"<<", "RobotLinks"}], ".", "m"}], "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"<<", "Linearize"}], ".", "m"}], "*)"}]}]}], "Input",
 CellChangeTimes->{
  3.504875918224949*^9, {3.505063952502133*^9, 3.505063953970308*^9}, {
   3.5051489336912956`*^9, 3.5051489340032964`*^9}, 3.513531757509935*^9, {
   3.515870024222504*^9, 3.5158700252255616`*^9}, 3.5158863755610266`*^9, {
   3.541814047387916*^9, 3.541814047547925*^9}, {3.619028859321746*^9, 
   3.619028875467746*^9}, 3.6202375723103237`*^9, 3.620238984602538*^9, {
   3.620735621471049*^9, 3.620735623791049*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{"SetDirectory", "[", 
    RowBox[{"NotebookDirectory", "[", "]"}], "]"}], "*)"}], "\n", 
  RowBox[{
   RowBox[{
    RowBox[{"UtilPath", "=", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"Directory", "[", "]"}], ",", "\"\<mathematica_util\>\""}], 
       "}"}], "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"$Path", "=", 
     RowBox[{"DeleteDuplicates", "[", 
      RowBox[{"Append", "[", 
       RowBox[{"$Path", ",", "UtilPath"}], "]"}], "]"}]}], ";"}]}]}]], "Input",\

 CellChangeTimes->{3.6202304835415173`*^9}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"Needs", "[", "\"\<Units`\>\"", "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Needs", "[", "\"\<RobotLinks`\>\"", "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Needs", "[", "\"\<ToMatlab`\>\"", "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Needs", "[", "\"\<ExtraUtil`\>\"", "]"}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Needs", "[", "\"\<ToCpp`\>\"", "]"}], ";", 
  RowBox[{"On", "[", "Assert", "]"}], ";"}]}], "Input",
 CellChangeTimes->{
  3.6202305283489976`*^9, {3.620238987707849*^9, 3.620239012802358*^9}, {
   3.6207356274790487`*^9, 3.620735627798049*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"On", "[", "Assert", "]"}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"t0", "=", 
   RowBox[{"AbsoluteTime", "[", "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.5222466960362115`*^9, 3.5222467018365436`*^9}, {
  3.5425485959775953`*^9, 3.5425485986017456`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"A_", "?", "MatrixQ"}], "]"}], ":=", 
   RowBox[{"ParallelTable", "[", 
    RowBox[{
     RowBox[{"Simplify", "[", 
      RowBox[{"A", "\[LeftDoubleBracket]", 
       RowBox[{"i", ",", "j"}], "\[RightDoubleBracket]"}], "]"}], ",", 
     RowBox[{"{", 
      RowBox[{"i", ",", 
       RowBox[{
        RowBox[{"Dimensions", "[", "A", "]"}], "\[LeftDoubleBracket]", "1", 
        "\[RightDoubleBracket]"}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"j", ",", 
       RowBox[{
        RowBox[{"Dimensions", "[", "A", "]"}], "\[LeftDoubleBracket]", "2", 
        "\[RightDoubleBracket]"}]}], "}"}]}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"A_", "?", "VectorQ"}], "]"}], ":=", 
   RowBox[{"ParallelTable", "[", 
    RowBox[{
     RowBox[{"Simplify", "[", 
      RowBox[{"A", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}], 
      "]"}], ",", 
     RowBox[{"{", 
      RowBox[{"i", ",", 
       RowBox[{"Length", "[", "A", "]"}]}], "}"}]}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{"ParallelSimplify", "[", "A_", "]"}], ":=", 
   RowBox[{"Simplify", "[", "A", "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.525444031603923*^9, 3.525444057323394*^9}, 
   3.525444167371688*^9, {3.5254442077009945`*^9, 3.5254442142373686`*^9}, {
   3.5254442656763105`*^9, 3.52544431862834*^9}, {3.5254446389836626`*^9, 
   3.525444643198904*^9}, {3.5273464706540365`*^9, 3.527346473775215*^9}, 
   3.527423798626493*^9, {3.5387532837469378`*^9, 3.5387532943515444`*^9}, 
   3.54024855316775*^9, {3.6207356371670485`*^9, 3.620735642214049*^9}}]
}, Closed]],

Cell[CellGroupData[{

Cell["model specification", "Section",
 CellChangeTimes->{{3.513531803717296*^9, 3.513531806022168*^9}, {
  3.51767999292592*^9, 3.5176799960260973`*^9}, {3.5472307789416485`*^9, 
  3.5472307825248537`*^9}}],

Cell[CellGroupData[{

Cell[TextData[StyleBox["Notes", "Subsubtitle",
 FontFamily->"Gill Sans MT",
 FontWeight->"Bold"]], "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.6032990240754833`*^9, 3.603299037590364*^9}, 
   3.6074780283522453`*^9, {3.609437653834777*^9, 3.609437656894758*^9}, {
   3.6207350720420485`*^9, 3.620735080353049*^9}, {3.6207352127050486`*^9, 
   3.6207352676130486`*^9}, {3.620735410556049*^9, 3.620735418081049*^9}, 
   3.620735567602049*^9}],

Cell["\<\
Using 1-based indexing, where 0 denotes the world / root link.
Using nomenclature from Murray-Li-Sastry

Note that twists are defined with respect to the world in the base \
configuration, not relative to its parent.
The twist then creates a transform that rotates it about the origin of the \
joint.\
\>", "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603298883673048*^9, 3.6032988943439713`*^9}, {
  3.603299144758916*^9, 3.6032991738361597`*^9}, {3.620735224704049*^9, 
  3.620735234595049*^9}, {3.620735279468049*^9, 3.6207352801240487`*^9}}],

Cell["\[OpenCurlyDoubleQuote]g\[CloseCurlyDoubleQuote] - Homogeneous \
transform", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.6032989683073387`*^9, 3.603298973310524*^9}, 
   3.620735234595049*^9}],

Cell["\[OpenCurlyDoubleQuote]\[Xi]\[CloseCurlyDoubleQuote] - Twist", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.6032989745948553`*^9, 3.6032989791227627`*^9}, 
   3.620735234595049*^9}],

Cell["\[OpenCurlyDoubleQuote]p\[CloseCurlyDoubleQuote] - Position", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603298979699026*^9, 3.603298988698349*^9}, 
   3.620735234595049*^9}],

Cell["\[OpenCurlyDoubleQuote]R\[CloseCurlyDoubleQuote] - Rotation matrix", \
"Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603298989035654*^9, 3.603298992910635*^9}, 
   3.620735234595049*^9}],

Cell["Frames", "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603298998121937*^9, 3.603298998493064*^9}, 
   3.620735234595049*^9}],

Cell["\[OpenCurlyDoubleQuote]s\[CloseCurlyDoubleQuote] - base frame (world, \
0)", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603299003555558*^9, 3.603299009200433*^9}, 
   3.620735234595049*^9}],

Cell[TextData[{
 Cell[BoxData[
  FormBox[
  "\"\<\\\"\\!\\(\\n\\*SubscriptBox[\\(l\\), \\(i\\)]\\)\>\"", 
   TraditionalForm]]],
 "\[CloseCurlyDoubleQuote] - link i"
}], "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603299009647709*^9, 3.60329901961847*^9}, 
   3.620735234595049*^9}],

Cell[TextData[{
 Cell[BoxData[
  FormBox[
  "\"\<\\\"\\!\\(\\n\\*SubscriptBox[\\(j\\), \\(i\\)]\\)\>\"", 
   TraditionalForm]]],
 "\[CloseCurlyDoubleQuote] - joint i"
}], "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.603299040800398*^9, 3.603299045455132*^9}, 
   3.620735234596049*^9}]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[StyleBox["Variables", "Subsubtitle",
 FontFamily->"Gill Sans MT",
 FontWeight->"Bold"]], "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.6032990240754833`*^9, 3.603299037590364*^9}, 
   3.6074780283522453`*^9, {3.609437653834777*^9, 3.609437656894758*^9}, {
   3.6207350720420485`*^9, 3.620735080353049*^9}, {3.6207352127050486`*^9, 
   3.6207352676130486`*^9}, {3.620735410556049*^9, 3.620735418081049*^9}, {
   3.6207355276770487`*^9, 3.620735555207049*^9}}],

Cell["lt - length of toe", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387467037455835`*^9, 3.5387467220756316`*^9}, {
   3.5387469219240627`*^9, 3.538746942720252*^9}, {3.620734788428049*^9, 
   3.620734802687049*^9}, 3.620734835240049*^9, {3.6207349694720488`*^9, 
   3.620734995522049*^9}}],

Cell["lh - length of heel", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.538746943979324*^9, 3.5387469472625113`*^9}, 
   3.620734786652049*^9, 3.620734995522049*^9}],

Cell[TextData[{
 Cell[BoxData[
  FormBox["Hf", TraditionalForm]]],
 " - height of foot"
}], "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387467037455835`*^9, 3.5387467220756316`*^9}, {
   3.5387469219240627`*^9, 3.5387469368939185`*^9}, {3.53874764902365*^9, 
   3.5387476510707674`*^9}, {3.538747723621917*^9, 3.5387477299472785`*^9}, {
   3.5425486017409253`*^9, 3.5425486029459944`*^9}, 3.620734995522049*^9, {
   3.621189811408389*^9, 3.6211898193171797`*^9}}],

Cell["Lc - length of calf", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{
  3.538746724442767*^9, {3.5387469241501894`*^9, 3.538746965911578*^9}, 
   3.620734995522049*^9}],

Cell["Lt - length of thigh", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387469662976007`*^9, 3.538746969660793*^9}, 
   3.620734995522049*^9}],

Cell["LT - Length of torso (in this model, set to distance to CoM)", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.538747117996277*^9, 3.5387471264677615`*^9}, {
   3.5387471593016396`*^9, 3.5387471731104293`*^9}, 3.620734995523049*^9}],

Cell["rfx - distance from toe to ankle CoM", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387470635941653`*^9, 3.5387470857944355`*^9}, 
   3.538747754905706*^9, {3.6062316350240393`*^9, 3.606231656434264*^9}, 
   3.620734995523049*^9}],

Cell["rfz - height from bottom of foot to ankle CoM", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387469738520327`*^9, 3.53874700842901*^9}, {
   3.53874705405962*^9, 3.538747061914069*^9}, {3.5387477585549145`*^9, 
   3.53874775882493*^9}, 3.5473161868747025`*^9, {3.5473222394158883`*^9, 
   3.5473222447351923`*^9}, {3.606222004920229*^9, 3.606222016102869*^9}, 
   3.606231639005267*^9, 3.620734995523049*^9}],

Cell["rc - distance from ankle to calf CoM", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387470771709423`*^9, 3.538747104217489*^9}, {
   3.6062220280775537`*^9, 3.606222054051039*^9}, 3.620734995523049*^9}],

Cell["rt - distance from knee to thigh CoM", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387471048735266`*^9, 3.53874714130061*^9}, {
   3.6062220600123806`*^9, 3.60622206700578*^9}, 3.620734995523049*^9}],

Cell["rT - distance from hip to torso CoM (usually just set to 1)", "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5387471416626306`*^9, 3.538747157245522*^9}, {
   3.6062220724660926`*^9, 3.6062220809465775`*^9}, 3.620734995523049*^9}],

Cell[BoxData[""], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.6207349380920486`*^9, 3.620734995522049*^9}, {
  3.6207351487970486`*^9, 3.6207351830350485`*^9}, {3.620735342105049*^9, 
  3.620735344673049*^9}, {3.620735438579049*^9, 3.6207354468340487`*^9}, {
  3.6207354790120487`*^9, 3.620735525813049*^9}}]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"ndof", " ", "=", " ", "7"}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"robotInfo", "=", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
       "lt", ",", "lh", ",", "Hf", ",", "Lf", ",", "Lc", ",", "Lt", ",", "LT",
         ",", "rfz", ",", "rfx", ",", "rc", ",", "rt", ",", "rT", ",", "mT", 
        ",", "mt", ",", "mc", ",", "mf", ",", "g", ",", "mboom", ",", "Lb"}], 
       "}"}], ",", "           ", 
      RowBox[{"{", 
       RowBox[{"152.4", ",", "50.8", ",", "50.8", ",", 
        RowBox[{"lt", "+", "lh"}], ",", "406.4", ",", "406.4", ",", "251.1", 
        ",", "6.87", ",", "114.51", ",", "219.68", ",", "219.68", ",", 
        "251.1", ",", "10418.76", ",", "3865.06", ",", "3865.06", ",", "1151",
         ",", "9810", ",", "0", ",", "0"}], "}"}]}], "}"}]}], ";"}], 
  "\[IndentingNewLine]"}]], "Input",
 CellChangeTimes->{{3.5430098460431986`*^9, 3.543010029064667*^9}, {
   3.543010081054641*^9, 3.5430100828627443`*^9}, {3.5430104661596675`*^9, 
   3.543010467149724*^9}, {3.5430105282602196`*^9, 3.543010528843253*^9}, 
   3.543319459240864*^9, 3.5433199723372116`*^9, 3.543861833886557*^9, {
   3.5452665214324265`*^9, 3.545266531262983*^9}, {3.5472211837958374`*^9, 
   3.5472213065868607`*^9}, {3.547223310501478*^9, 3.547223326932418*^9}, {
   3.547223366932706*^9, 3.5472233743961325`*^9}, {3.547225227568128*^9, 
   3.5472252341515045`*^9}, {3.5472280446202545`*^9, 
   3.5472280452362895`*^9}, {3.5472307883841887`*^9, 3.547230810752468*^9}, {
   3.5472310302560225`*^9, 3.5472310320151234`*^9}, {3.547231455301334*^9, 
   3.547231531428688*^9}, {3.547231898627691*^9, 3.547231901396849*^9}, {
   3.547232065874257*^9, 3.5472320678973722`*^9}, {3.5472418829337068`*^9, 
   3.547241895133384*^9}, {3.5473063624036665`*^9, 3.5473063806868987`*^9}, {
   3.5473064358017955`*^9, 3.547306500292309*^9}, {3.547306763110097*^9, 
   3.5473067796305265`*^9}, {3.547307408015522*^9, 3.5473074094536037`*^9}, {
   3.5473074466307306`*^9, 3.547307461930606*^9}, {3.547307538078905*^9, 
   3.5473076265860605`*^9}, {3.547307760449505*^9, 3.547307762871771*^9}, {
   3.547307979358945*^9, 3.547307981766074*^9}, {3.547308013191676*^9, 
   3.5473080149137735`*^9}, {3.547308470862816*^9, 3.5473084738627815`*^9}, {
   3.547767981008011*^9, 3.547767991564615*^9}, {3.5477680473948083`*^9, 
   3.5477680503309765`*^9}, {3.5477681357878637`*^9, 
   3.5477681422992363`*^9}, {3.5477682948959646`*^9, 
   3.5477683418896523`*^9}, {3.547830395030449*^9, 3.5478304025728807`*^9}, {
   3.5478995332029266`*^9, 3.5478995548271637`*^9}, {3.5515403169704046`*^9, 
   3.5515403927865376`*^9}, {3.5515405790820646`*^9, 3.5515405965384955`*^9}, 
   3.5515406387521696`*^9, {3.551540675942635*^9, 3.5515406783762393`*^9}, {
   3.5515407877396317`*^9, 3.551540834758114*^9}, {3.5528635458033614`*^9, 
   3.552863546098378*^9}, {3.552863639842456*^9, 3.5528636629137216`*^9}, {
   3.5528644781269016`*^9, 3.552864493187742*^9}, {3.5529318985790834`*^9, 
   3.552931904052397*^9}, {3.5529319431236315`*^9, 3.5529319557303524`*^9}, {
   3.5563272388691444`*^9, 3.5563272409032607`*^9}, 3.5563854214675245`*^9, {
   3.5813368368893337`*^9, 3.5813368393864765`*^9}, {3.581336894288617*^9, 
   3.5813369102235284`*^9}, {3.5813369554081125`*^9, 
   3.5813369564881744`*^9}, {3.581337036762271*^9, 3.5813370394984274`*^9}, {
   3.5813370702501864`*^9, 3.581337072026288*^9}, {3.5813372110662403`*^9, 
   3.5813372210828133`*^9}, {3.5813372787411118`*^9, 3.581337323050646*^9}, {
   3.5813373561385384`*^9, 3.5813373579546423`*^9}, {3.5926077491638546`*^9, 
   3.5926077516114864`*^9}, {3.592609465470059*^9, 3.592609523102479*^9}, {
   3.5926097928363028`*^9, 3.5926098317392373`*^9}, {3.5926101162659225`*^9, 
   3.592610118697543*^9}, {3.5926104027117214`*^9, 3.5926104031350036`*^9}, 
   3.5926104466440115`*^9, {3.593979363906705*^9, 3.5939793786175313`*^9}, {
   3.5939794282724185`*^9, 3.593979496007737*^9}, {3.593979573914274*^9, 
   3.5939795945375104`*^9}, {3.606238406732359*^9, 3.6062384128977118`*^9}, {
   3.606238448761763*^9, 3.6062384711030407`*^9}, {3.606238517219679*^9, 
   3.6062385949711256`*^9}, {3.6181523450971165`*^9, 
   3.6181523785750313`*^9}, {3.6181525710150385`*^9, 3.618152647567417*^9}, 
   3.619027738972746*^9, {3.6207347595910487`*^9, 3.620734781853049*^9}, 
   3.6211898114193897`*^9}],

Cell[BoxData[
 RowBox[{"constsubs", "=", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{"#1", "[", 
      RowBox[{"[", "1", "]"}], "]"}], " ", "->", " ", 
     RowBox[{
      RowBox[{"Rationalize", "[", "\n", "     ", 
       RowBox[{"#1", "[", 
        RowBox[{"[", "2", "]"}], "]"}], "]"}], "/", "1000"}]}], " ", "&"}], "/@", 
   RowBox[{"Transpose", "[", "robotInfo", "]"}]}]}]], "Input",
 CellChangeTimes->{{3.5197506180672736`*^9, 3.519750623492584*^9}, {
   3.5197506874442415`*^9, 3.519750758152286*^9}, {3.51975089075187*^9, 
   3.519750913356163*^9}, 3.521204776350452*^9, {3.5212215282457824`*^9, 
   3.521221530862932*^9}, {3.522245362849958*^9, 3.522245370044369*^9}, 
   3.5230284621307015`*^9, 3.523304585666345*^9, 3.523305467209157*^9, {
   3.523305668402233*^9, 3.523305669132444*^9}, {3.541806217485071*^9, 
   3.5418062335419893`*^9}, 3.5418579476383076`*^9, {3.619027506831746*^9, 
   3.619027506833746*^9}, {3.619027542300746*^9, 3.619027542301746*^9}, {
   3.619027915887746*^9, 3.6190279250947456`*^9}, {3.6207357636300488`*^9, 
   3.6207357962360487`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"lt", "\[Rule]", 
    FractionBox["381", "2500"]}], ",", 
   RowBox[{"lh", "\[Rule]", 
    FractionBox["127", "2500"]}], ",", 
   RowBox[{"Hf", "\[Rule]", 
    FractionBox["127", "2500"]}], ",", 
   RowBox[{"Lf", "\[Rule]", 
    FractionBox[
     RowBox[{"lh", "+", "lt"}], "1000"]}], ",", 
   RowBox[{"Lc", "\[Rule]", 
    FractionBox["254", "625"]}], ",", 
   RowBox[{"Lt", "\[Rule]", 
    FractionBox["254", "625"]}], ",", 
   RowBox[{"LT", "\[Rule]", 
    FractionBox["2511", "10000"]}], ",", 
   RowBox[{"rfz", "\[Rule]", 
    FractionBox["687", "100000"]}], ",", 
   RowBox[{"rfx", "\[Rule]", 
    FractionBox["11451", "100000"]}], ",", 
   RowBox[{"rc", "\[Rule]", 
    FractionBox["1373", "6250"]}], ",", 
   RowBox[{"rt", "\[Rule]", 
    FractionBox["1373", "6250"]}], ",", 
   RowBox[{"rT", "\[Rule]", 
    FractionBox["2511", "10000"]}], ",", 
   RowBox[{"mT", "\[Rule]", 
    FractionBox["260469", "25000"]}], ",", 
   RowBox[{"mt", "\[Rule]", 
    FractionBox["193253", "50000"]}], ",", 
   RowBox[{"mc", "\[Rule]", 
    FractionBox["193253", "50000"]}], ",", 
   RowBox[{"mf", "\[Rule]", 
    FractionBox["1151", "1000"]}], ",", 
   RowBox[{"g", "\[Rule]", 
    FractionBox["981", "100"]}], ",", 
   RowBox[{"mboom", "\[Rule]", "0"}], ",", 
   RowBox[{"Lb", "\[Rule]", "0"}]}], "}"}]], "Input",
 CellChangeTimes->{{3.621189811424391*^9, 3.6211898114353914`*^9}}],

Cell[BoxData[
 RowBox[{"mm", "=", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
    "mf", ",", " ", "mc", ",", "mt", ",", " ", "mT", ",", "0", ",", "mt", ",",
      "mc", ",", " ", "mf"}], "}"}], "/.", "\[InvisibleSpace]", 
   "constsubs"}]}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.504464931380743*^9, 3.504464938859278*^9}, {
   3.50446501108097*^9, 3.504465011431731*^9}, {3.504465051759923*^9, 
   3.504465055474*^9}, {3.504617746752343*^9, 3.5046177488414*^9}, 
   3.504747296129977*^9, 3.50487586421991*^9, {3.504971551457563*^9, 
   3.50497170345489*^9}, {3.504971751954021*^9, 3.504971771812788*^9}, {
   3.5052271115942125`*^9, 3.5052271200806274`*^9}, {3.505231180364644*^9, 
   3.505231192454666*^9}, {3.50523314771557*^9, 3.5052331520835776`*^9}, {
   3.513011680554058*^9, 3.513011725186837*^9}, 3.51301182562513*^9, {
   3.513012344045216*^9, 3.513012345041097*^9}, {3.5158498204093294`*^9, 
   3.515849822884471*^9}, {3.515850217828061*^9, 3.5158502194581537`*^9}, {
   3.515850546875881*^9, 3.5158505634158273`*^9}, {3.515850617926945*^9, 
   3.515850624852341*^9}, {3.5158506825046387`*^9, 3.515850684811771*^9}, {
   3.5158510414861712`*^9, 3.5158510548999386`*^9}, {3.5158522964848585`*^9, 
   3.5158522987139854`*^9}, {3.5158524456553907`*^9, 
   3.5158524490995874`*^9}, {3.5158693992257566`*^9, 3.515869425043233*^9}, {
   3.515869486273735*^9, 3.515869512859256*^9}, {3.516707936034129*^9, 
   3.516707940618391*^9}, 3.516708850637441*^9, {3.5214849611743345`*^9, 
   3.521484964012497*^9}, {3.522244667184168*^9, 3.5222446699923286`*^9}, {
   3.5418062795246196`*^9, 3.5418062894351864`*^9}, 3.5418063201219416`*^9, {
   3.5418579738151536`*^9, 3.5418579866695757`*^9}, 3.5418580462616806`*^9, {
   3.5427339159796762`*^9, 3.542733926746468*^9}, {3.5427339636111226`*^9, 
   3.542733972907631*^9}, {3.5427340540706244`*^9, 3.5427340754194627`*^9}, {
   3.5430100938623734`*^9, 3.5430101032219086`*^9}, 3.543104199445236*^9, 
   3.5432576399242105`*^9, {3.5472242259738398`*^9, 3.5472242262458553`*^9}, 
   3.5474913975659037`*^9, {3.5474914886421127`*^9, 3.5474914903172083`*^9}, 
   3.6203077774501247`*^9, {3.6207358564400487`*^9, 3.620735857439049*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   FractionBox["1151", "1000"], ",", 
   FractionBox["193253", "50000"], ",", 
   FractionBox["193253", "50000"], ",", 
   FractionBox["260469", "25000"], ",", "0", ",", 
   FractionBox["193253", "50000"], ",", 
   FractionBox["193253", "50000"], ",", 
   FractionBox["1151", "1000"]}], "}"}]], "Output",
 CellChangeTimes->{
  3.543257640285231*^9, 3.5433194641401443`*^9, 3.543319976369442*^9, 
   3.543363847197708*^9, 3.543861836964733*^9, 3.5447124473443327`*^9, 
   3.545265830265583*^9, 3.5452666382735443`*^9, 3.5457690137619066`*^9, 
   3.5472213121791806`*^9, 3.5472280001477103`*^9, 3.547228048341467*^9, 
   3.5472283964143753`*^9, 3.547229291086548*^9, 3.547229677949675*^9, 
   3.547229752141919*^9, 3.5472299641740465`*^9, {3.547230814937707*^9, 
   3.547230831626662*^9}, 3.547231783202089*^9, 3.547231912971511*^9, 
   3.5472319549109097`*^9, 3.547232070333512*^9, 3.5472406952445755`*^9, 
   3.547240797122602*^9, 3.547240835396335*^9, 3.5472419342973986`*^9, 
   3.5473093525007987`*^9, 3.54740274417822*^9, 3.547403245159874*^9, 
   3.547403522521738*^9, 3.5474913979639263`*^9, {3.54749150572009*^9, 
   3.5474915094403024`*^9}, 3.5477685168746605`*^9, 3.5478304104543314`*^9, 
   3.5478995648547373`*^9, 3.5478998147290287`*^9, 3.5515414190727406`*^9, 
   3.5526505969752445`*^9, {3.5526529010680313`*^9, 3.552652920360134*^9}, 
   3.552828461861842*^9, 3.552932364762748*^9, 3.5529325123631897`*^9, 
   3.556317793393179*^9, 3.556325333907282*^9, 3.556327311301287*^9, 
   3.55638545198227*^9, 3.556833533942226*^9, 3.5813374058163795`*^9, 
   3.588020768927228*^9, 3.5926615045242233`*^9, 3.619028342041746*^9, 
   3.6190285026087456`*^9, 3.6190288846857457`*^9, 3.619031948475746*^9, 
   3.619274670901379*^9, 3.6202304915683203`*^9, 3.6202305314173045`*^9, 
   3.620230978469005*^9, 3.620231041540312*^9, 3.6202321910542517`*^9, 
   3.62023235365351*^9, 3.620236122646372*^9, 3.620236250131119*^9, {
   3.6202375635104437`*^9, 3.6202375753016224`*^9}, 3.620238859358015*^9, 
   3.6202389632674055`*^9, 3.6202389966957474`*^9, 3.620239036494727*^9, 
   3.6202396050465765`*^9, 3.6202398953256016`*^9, 3.62024056518058*^9, 
   3.6202411070820894`*^9, 3.6202565523458166`*^9, 3.6202569541098166`*^9, 
   3.620257889549816*^9, 3.6202581856288166`*^9, 3.6202584488038163`*^9, 
   3.620258935212816*^9, 3.6202590554688168`*^9, 3.620259209344816*^9, 
   3.620260072910816*^9, 3.620260347844816*^9, 3.6202611582488165`*^9, 
   3.6202613819598165`*^9, 3.6202621729778166`*^9, 3.6203020421156483`*^9, 
   3.620302595308962*^9, 3.6203028607195005`*^9, 3.620303312900714*^9, 
   3.6203035184922714`*^9, 3.6203037617085905`*^9, 3.6203040096013775`*^9, 
   3.620304699971407*^9, 3.620305265425947*^9, 3.6203061928556805`*^9, 
   3.6203064279451876`*^9, 3.6203077430276823`*^9, 3.620308013567734*^9, 
   3.620308089064283*^9, 3.6203081834997253`*^9, 3.620308803259695*^9, {
   3.620317859692248*^9, 3.620317886884967*^9}, 3.6203184049097643`*^9, 
   3.620319253092574*^9, 3.6207339272360487`*^9, 3.6207354256440487`*^9, 
   3.620735573760049*^9, 3.620735805086049*^9, {3.6207360628960485`*^9, 
   3.620736089136049*^9}, 3.6207361754130487`*^9, 3.6207362059500484`*^9, 
   3.6207497023040485`*^9, 3.620749755385049*^9, 3.6207497957420487`*^9, 
   3.6207498477970486`*^9, 3.6207595075260487`*^9, 3.6207611594460487`*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"statesubs", "=", 
   RowBox[{"Join", "[", 
    RowBox[{
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{
         SubscriptBox["\[Theta]", "i"], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", "i", "]"}]}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", 
         RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}], ",", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{
         SuperscriptBox[
          SubscriptBox["\[Theta]", "i"], "\[Prime]",
          MultilineFunction->None], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", 
         RowBox[{"i", "+", "ndof", "-", "1"}], "]"}]}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", 
         RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}]}], "]"}]}], 
  ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"exstatesubs", "=", 
   RowBox[{"Join", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", "1", "]"}]}], ",", 
       RowBox[{
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", "2", "]"}]}], ",", 
       RowBox[{
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", "3", "]"}]}]}], "}"}], ",", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{
         SubscriptBox["\[Theta]", "i"], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", 
         RowBox[{"i", "+", "3"}], "]"}]}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", 
         RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        RowBox[{
         SuperscriptBox[
          SubscriptBox["p", "x"], "\[Prime]",
          MultilineFunction->None], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", "10", "]"}]}], ",", 
       RowBox[{
        RowBox[{
         SuperscriptBox[
          SubscriptBox["p", "z"], "\[Prime]",
          MultilineFunction->None], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", "11", "]"}]}], ",", 
       RowBox[{
        RowBox[{
         SuperscriptBox[
          SubscriptBox["\[Theta]", "0"], "\[Prime]"], "[", "t", "]"}], 
        "\[Rule]", 
        RowBox[{"x", "[", "12", "]"}]}]}], "}"}], ",", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{
         SuperscriptBox[
          SubscriptBox["\[Theta]", "i"], "\[Prime]",
          MultilineFunction->None], "[", "t", "]"}], "\[Rule]", 
        RowBox[{"x", "[", 
         RowBox[{"i", "+", "ndof", "+", "5"}], "]"}]}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", 
         RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}]}], "]"}]}], 
  ";"}]], "Input",
 CellChangeTimes->{{3.5427339861542597`*^9, 3.5427340471636505`*^9}, {
   3.54273413433239*^9, 3.5427342330213256`*^9}, {3.542734283709563*^9, 
   3.5427343130212274`*^9}, {3.5429313280416555`*^9, 3.542931337464195*^9}, 
   3.5431042083882647`*^9, 3.6202588174228163`*^9, 3.6203077766830473`*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"p0", "=", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      RowBox[{
       SubscriptBox["p", "x"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["p", "z"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     
     RowBox[{
      RowBox[{
       SuperscriptBox[
        SubscriptBox["p", "x"], "\[Prime]",
        MultilineFunction->None], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     RowBox[{
      RowBox[{
       SuperscriptBox[
        SubscriptBox["p", "z"], "\[Prime]",
        MultilineFunction->None], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     RowBox[{
      RowBox[{
       SuperscriptBox[
        SubscriptBox["\[Theta]", "0"], "\[Prime]"], "[", "t", "]"}], 
      "\[Rule]", "0"}]}], "}"}]}], ";"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.513532355258184*^9, 3.513532394514388*^9}, {
   3.5158587679930077`*^9, 3.515858770152131*^9}, {3.5167081862334394`*^9, 
   3.516708188824588*^9}, {3.521292324323979*^9, 3.5212923363016644`*^9}, {
   3.522411783001712*^9, 3.5224117989146223`*^9}, {3.5224118477114134`*^9, 
   3.522411851376623*^9}, 3.541858046277281*^9, {3.542730087794994*^9, 
   3.5427300971238103`*^9}, {3.542734088616539*^9, 3.5427341229389677`*^9}, {
   3.542734840921886*^9, 3.542734857753604*^9}, 3.620754013530049*^9}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["\[ScriptCapitalI]", "1"], " ", "=", " ", 
    RowBox[{"Rationalize", "[", 
     RowBox[{
      RowBox[{
       RowBox[{"(", GridBox[{
          {"1541037.64", "53192.75", 
           RowBox[{"-", "722846.62"}]},
          {"53192.75", "8982671.3", 
           RowBox[{"-", "22618.87"}]},
          {
           RowBox[{"-", "722846.62"}], 
           RowBox[{"-", "22618.87"}], "8498063.5"}
         }], ")"}], "/", "1000000000"}], ",", 
      RowBox[{"1", "/", "1000000000"}]}], "]"}]}], ";"}], 
  RowBox[{"(*", 
   RowBox[{"//", "MatrixForm"}], "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "2"], " ", "=", "  ", 
   RowBox[{"Rationalize", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"(", GridBox[{
         {"29032438.82", 
          RowBox[{"-", "153737.5"}], "191685.6"},
         {
          RowBox[{"-", "153737.5"}], "28425223.81", "472879.37"},
         {"191685.6", "472879.37", "3199555.09"}
        }], ")"}], "/", "1000000000"}], ",", 
     RowBox[{"1", "/", "1000000000"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "3"], " ", "=", " ", 
   RowBox[{"Rationalize", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"(", GridBox[{
         {"29032438.82", 
          RowBox[{"-", "153737.5"}], "191685.6"},
         {
          RowBox[{"-", "153737.5"}], "28425223.81", "472879.37"},
         {"191685.6", "472879.37", "3199555.09"}
        }], ")"}], "/", "1000000000"}], ",", 
     RowBox[{"1", "/", "1000000000"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "4"], " ", "=", "  ", 
   RowBox[{"Rationalize", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"(", GridBox[{
         {"188576345.34", 
          RowBox[{"-", "40410.33"}], 
          RowBox[{"-", "2438220.72"}]},
         {
          RowBox[{"-", "40410.33"}], "147542602", 
          RowBox[{"-", "414660.3"}]},
         {
          RowBox[{"-", "2438220.72"}], 
          RowBox[{"-", "414660.3"}], "59483657.62"}
        }], ")"}], "/", "1000000000"}], ",", 
     RowBox[{"1", "/", "1000000000"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "5"], "=", 
   RowBox[{"Rationalize", "[", 
    RowBox[{
     RowBox[{
      RowBox[{"(", GridBox[{
         {"0", "0", "0"},
         {"0", "0", "0"},
         {"0", "0", "0"}
        }], ")"}], "/", "1000000000"}], ",", 
     RowBox[{"1", "/", "1000000000"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "6"], " ", "=", 
   RowBox[{
    SubscriptBox["\[ScriptCapitalI]", "3"], "*", " ", 
    RowBox[{"(", GridBox[{
       {"1", 
        RowBox[{"-", "1"}], "1"},
       {
        RowBox[{"-", "1"}], "1", 
        RowBox[{"-", "1"}]},
       {"1", 
        RowBox[{"-", "1"}], "1"}
      }], ")"}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "7"], " ", "=", 
   RowBox[{
    SubscriptBox["\[ScriptCapitalI]", "2"], "*", " ", 
    RowBox[{"(", GridBox[{
       {"1", 
        RowBox[{"-", "1"}], "1"},
       {
        RowBox[{"-", "1"}], "1", 
        RowBox[{"-", "1"}]},
       {"1", 
        RowBox[{"-", "1"}], "1"}
      }], ")"}]}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalI]", "8"], " ", "=", 
   SubscriptBox["\[ScriptCapitalI]", "1"]}], 
  ";"}], "\[IndentingNewLine]"}], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{
  3.5418064236368628`*^9, 3.5418580462616806`*^9, {3.5418581242742195`*^9, 
   3.5418581281586266`*^9}, 3.5427301366330795`*^9, {3.547223017917743*^9, 
   3.547223058841084*^9}, {3.5472242758596935`*^9, 3.5472242889504423`*^9}, {
   3.547308080188949*^9, 3.5473080831001115`*^9}, {3.5473085270683513`*^9, 
   3.547308620152511*^9}, 3.5473086590924053`*^9, {3.5477681671776595`*^9, 
   3.5477682722366686`*^9}, {3.5477683742145014`*^9, 
   3.5477684676058426`*^9}, {3.551540975329961*^9, 3.551541026529251*^9}, {
   3.551541058556107*^9, 3.551541093874569*^9}, {3.551541136493844*^9, 
   3.5515411617346883`*^9}, {3.551541235507218*^9, 3.551541286893708*^9}, {
   3.5515413487790165`*^9, 3.5515413911954913`*^9}, {3.5528638987663126`*^9, 
   3.552863983761888*^9}, {3.5528640371237135`*^9, 3.5528641201691628`*^9}, {
   3.552864171088937*^9, 3.5528642363844185`*^9}, {3.552864309576182*^9, 
   3.552864415650615*^9}, {3.552931994343561*^9, 3.5529320036230917`*^9}, {
   3.552932094973317*^9, 3.552932131815424*^9}, {3.55293220167942*^9, 
   3.5529322654550676`*^9}, {3.5529322968318624`*^9, 3.5529323495678787`*^9}, 
   3.556327250596815*^9, 3.5563854399285803`*^9, {3.5939746238005157`*^9, 
   3.593974972478459*^9}, {3.606238608908923*^9, 3.6062390044915495`*^9}, {
   3.618152677292117*^9, 3.618152928962512*^9}, {3.620256927254816*^9, 
   3.6202569388948164`*^9}, {3.620734430766049*^9, 3.6207344375020485`*^9}, {
   3.620735870154049*^9, 3.6207358888150487`*^9}, 3.6207495009530487`*^9, {
   3.6207497478750486`*^9, 3.6207497513150487`*^9}, {3.620749787753049*^9, 
   3.620749792577049*^9}, {3.620751393689049*^9, 3.6207514001930485`*^9}}],

Cell[TextData[StyleBox["Check (Iyy (only?) should be zero)", "Subsubtitle",
 FontFamily->"Gill Sans MT",
 FontWeight->"Bold"]], "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.6032990240754833`*^9, 3.603299037590364*^9}, 
   3.6074780283522453`*^9, {3.609437653834777*^9, 3.609437656894758*^9}, {
   3.6207350720420485`*^9, 3.620735080353049*^9}, {3.6207352127050486`*^9, 
   3.6207352676130486`*^9}, {3.620735410556049*^9, 3.620735418081049*^9}, {
   3.6207355276770487`*^9, 3.620735555207049*^9}, {3.620751522016049*^9, 
   3.620751522656049*^9}, {3.6211673629256573`*^9, 3.6211673763570004`*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"RR", "=", 
   RowBox[{"(", GridBox[{
      {"1", "0", "0"},
      {"0", 
       RowBox[{"-", "1"}], "0"},
      {"0", "0", "1"}
     }], ")"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  SubscriptBox["\[ScriptCapitalI]", "6"], "-", 
  RowBox[{"RR", "*", 
   SubscriptBox["\[ScriptCapitalI]", "3"], "*", 
   RowBox[{"RR", "\[Transpose]"}]}]}]}], "Input",
 CellChangeTimes->{{3.620749518906049*^9, 3.6207496889670486`*^9}, {
  3.620749780689049*^9, 3.6207497826570487`*^9}, {3.6207498315660486`*^9, 
  3.620749833358049*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", 
     FractionBox["5", "32523"], ",", 
     FractionBox["7", "36518"]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["5", "32523"], ",", "0", ",", 
     RowBox[{"-", 
      FractionBox["10", "21147"]}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     FractionBox["7", "36518"], ",", 
     RowBox[{"-", 
      FractionBox["10", "21147"]}], ",", "0"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.620749690878049*^9, 3.6207497023350487`*^9}, 
   3.6207497554150486`*^9, 3.620749795768049*^9, 3.620749847833049*^9, 
   3.6207595075730486`*^9, 3.620761159482049*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[StyleBox["INCLUDING THE BOOM INERTIA", "Subsubtitle",
 FontFamily->"Gill Sans MT",
 FontWeight->"Bold"]], "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.547223667046871*^9, 3.5472236745833025`*^9}, {
  3.620735987319049*^9, 3.620736034008049*^9}, {3.6207362329270487`*^9, 
  3.620736240294049*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["I", "BOOM"], "=", 
   RowBox[{"Rationalize", "[", 
    RowBox[{
     RowBox[{"(", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{"{", 
          RowBox[{"15.83", ",", 
           RowBox[{"-", "0.11"}], ",", "0.06"}], "}"}], ",", 
         RowBox[{"{", 
          RowBox[{
           RowBox[{"-", "0.11"}], ",", "5.67", ",", 
           RowBox[{"-", "0.29"}]}], "}"}], ",", 
         RowBox[{"{", 
          RowBox[{"0.06", ",", 
           RowBox[{"-", "0.29"}], ",", "10.39"}], "}"}]}], "}"}], "/", 
       SuperscriptBox[
        RowBox[{"(", 
         RowBox[{"83.5", "*", ".0254"}], ")"}], "2"]}], ")"}], ",", 
     FractionBox["1", "1000000000"]}], "]"}]}], ";"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.55632526621541*^9, 3.5563253138591347`*^9}, {
   3.6207359385400486`*^9, 3.620735940166049*^9}, 3.620736034008049*^9, {
   3.6207360795970488`*^9, 3.620736083987049*^9}}],

Cell[BoxData[{
 RowBox[{"For", "[", 
  RowBox[{
   RowBox[{"i", "=", "1"}], ",", 
   RowBox[{"i", "\[LessEqual]", " ", 
    RowBox[{"Length", "[", "mm", "]"}]}], ",", 
   RowBox[{"i", "++"}], ",", 
   RowBox[{
    SubscriptBox["MM", "i"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{
       RowBox[{"mm", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}], 
       " ", 
       RowBox[{"IdentityMatrix", "[", "3", "]"}]}], "+", 
      RowBox[{
       RowBox[{
        RowBox[{"{", 
         RowBox[{
         "0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0", ",",
           "0"}], "}"}], "\[LeftDoubleBracket]", "i", 
        "\[RightDoubleBracket]"}], 
       SubscriptBox["I", "BOOM"]}]}], "/.", "constsubs"}]}]}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{"For", "[", 
  RowBox[{
   RowBox[{"i", "=", "1"}], ",", 
   RowBox[{"i", "\[LessEqual]", 
    RowBox[{"Length", "[", "mm", "]"}]}], ",", 
   RowBox[{"i", "++"}], ",", 
   RowBox[{
    SubscriptBox["\[ScriptCapitalM]", "i"], "=", 
    RowBox[{"Join", "[", 
     RowBox[{
      RowBox[{"Join", "[", 
       RowBox[{
        SubscriptBox["MM", "i"], ",", 
        RowBox[{"Table", "[", 
         RowBox[{"0", ",", 
          RowBox[{"{", "3", "}"}], ",", 
          RowBox[{"{", "3", "}"}]}], "]"}], ",", "2"}], "]"}], ",", 
      RowBox[{"Join", "[", 
       RowBox[{
        RowBox[{"Table", "[", 
         RowBox[{"0", ",", 
          RowBox[{"{", "3", "}"}], ",", 
          RowBox[{"{", "3", "}"}]}], "]"}], ",", 
        SubscriptBox["\[ScriptCapitalI]", "i"], ",", "2"}], "]"}], ",", "1"}],
      "]"}]}]}], "]"}]}], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{
  3.541858046277281*^9, {3.5472232844829903`*^9, 3.5472232856290555`*^9}, {
   3.5472233848837323`*^9, 3.547223392220152*^9}, {3.5472237228100605`*^9, 
   3.5472237234180956`*^9}, {3.5472239398394737`*^9, 
   3.5472239465458574`*^9}, {3.5472243528870993`*^9, 3.5472243537501483`*^9}, 
   3.5526506334983335`*^9, {3.55265265261082*^9, 3.552652748466303*^9}, 
   3.5526527845873685`*^9, {3.5526528288248987`*^9, 3.5526528586086025`*^9}, {
   3.5526528960237427`*^9, 3.5526528969347944`*^9}, 3.61927404979787*^9, {
   3.619274654614724*^9, 3.619274655641611*^9}, {3.6207342481600485`*^9, 
   3.620734255706049*^9}, 3.6207361700710487`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"Join", "[", 
    RowBox[{
     SubscriptBox["MM", "1"], ",", 
     RowBox[{"Table", "[", 
      RowBox[{"0", ",", 
       RowBox[{"{", "3", "}"}], ",", 
       RowBox[{"{", "3", "}"}]}], "]"}], ",", "2"}], "]"}], "//", 
   "MatrixForm"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.620734299076049*^9, 3.620734338057049*^9}, {
   3.620736097121049*^9, 3.6207360998890486`*^9}, 3.620736219596049*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   SubscriptBox["MM", "5"], "//", "MatrixForm"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.552650690652602*^9, 3.552650710681748*^9}, {
  3.552650763097746*^9, 3.552650771632234*^9}, {3.5526527571948023`*^9, 
  3.552652757601825*^9}, {3.620733960570049*^9, 3.620733966329049*^9}, {
  3.620736186406049*^9, 3.620736219596049*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"For", "[", 
   RowBox[{
    RowBox[{"i", "=", "1"}], ",", 
    RowBox[{"i", "\[LessEqual]", " ", 
     RowBox[{"Length", "[", "mm", "]"}]}], ",", 
    RowBox[{"i", "++"}], ",", " ", 
    RowBox[{"Print", "[", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[ScriptCapitalM]", "i"], "/.", "constsubs"}], "//", 
      "MatrixForm"}], "]"}]}], "]"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.620733988119049*^9, 3.620734048931049*^9}, {
  3.6207340849220486`*^9, 3.620734087609049*^9}, {3.6207341516130486`*^9, 
  3.620734175204049*^9}, {3.6207361967380486`*^9, 3.620736219596049*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  SubscriptBox["\[ScriptCapitalM]", "5"], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.},
 CellChangeTimes->{{3.5526507268306713`*^9, 3.552650736281212*^9}, {
  3.55265291013855*^9, 3.552652910705582*^9}, {3.6207362033770485`*^9, 
  3.620736219596049*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[StyleBox["INCLUDING THE MOTOR INERTIA", "Subsubtitle",
 FontFamily->"Gill Sans MT",
 FontWeight->"Bold"]], "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10002.},
 CellChangeTimes->{{3.620736303970049*^9, 3.620736315798049*^9}, {
  3.6207365747380486`*^9, 3.620736577320049*^9}, {3.6207522612260485`*^9, 
  3.620752267336049*^9}}],

Cell[BoxData[{
 RowBox[{"For", "[", 
  RowBox[{
   RowBox[{"i", "=", "1"}], ",", 
   RowBox[{"i", "\[LessEqual]", " ", 
    RowBox[{"Length", "[", "mm", "]"}]}], ",", 
   RowBox[{"i", "++"}], ",", 
   RowBox[{
    SubscriptBox["Mt", "i"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{
       RowBox[{"{", 
        RowBox[{
        "0", ",", "1", ",", "1", ",", "1", ",", "0", ",", "1", ",", "1", ",", 
         "1"}], "}"}], "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}],
       " ", 
      RowBox[{"Rationalize", "[", 
       RowBox[{
        FractionBox[
         RowBox[{"MKS", "[", 
          RowBox[{
           RowBox[{"(", 
            RowBox[{
             RowBox[{"21.9", " ", 
              SuperscriptBox["95.04", "2"]}], "+", "1.5"}], ")"}], " ", 
           "Gram", " ", 
           SuperscriptBox["Centimeter", "2"]}], "]"}], 
         RowBox[{"Kilogram", " ", 
          SuperscriptBox["Meter", "2"]}]], ",", 
        FractionBox["1", "100000000"]}], "]"}]}], "/.", "constsubs"}]}]}], 
  "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"(*", 
   RowBox[{"For", "[", 
    RowBox[{
     RowBox[{"i", "=", "1"}], ",", 
     RowBox[{"i", "\[LessEqual]", 
      RowBox[{"Length", "[", "mm", "]"}]}], ",", 
     RowBox[{"i", "++"}], ",", 
     RowBox[{
      SubscriptBox["\[ScriptCapitalM]", "i"], "=", 
      RowBox[{"Join", "[", 
       RowBox[{
        RowBox[{"Join", "[", 
         RowBox[{
          SubscriptBox["\[ScriptCapitalM]", "i"], ",", 
          RowBox[{"Table", "[", 
           RowBox[{"0", ",", 
            RowBox[{"{", "3", "}"}], ",", 
            RowBox[{"{", "3", "}"}]}], "]"}], ",", "2"}], "]"}], ",", 
        RowBox[{"Join", "[", 
         RowBox[{
          RowBox[{"Table", "[", 
           RowBox[{"0", ",", 
            RowBox[{"{", "3", "}"}], ",", 
            RowBox[{"{", "3", "}"}]}], "]"}], ",", 
          SubscriptBox["\[ScriptCapitalI]", "i"], ",", "2"}], "]"}], ",", 
        "1"}], "]"}]}]}], "]"}], "*)"}]}]}], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10002.},
 CellChangeTimes->{{3.5214873029990063`*^9, 3.521487319252936*^9}, 
   3.521487394350231*^9, {3.5214875890623684`*^9, 3.521487593325612*^9}, {
   3.5230262518716383`*^9, 3.5230262525626774`*^9}, {3.523026311396043*^9, 
   3.523026330981163*^9}, 3.5230274909066725`*^9, 3.5230275221313057`*^9, {
   3.523030604303975*^9, 3.523030607054125*^9}, {3.523811329135682*^9, 
   3.523811338183199*^9}, 3.5238113734532166`*^9, 3.5238114749630227`*^9, 
   3.541858046277281*^9, 3.5472238432149477`*^9, {3.5472239668260174`*^9, 
   3.547223983536974*^9}, {3.5472244498156433`*^9, 3.5472244522357817`*^9}, {
   3.5472244997024965`*^9, 3.547224533614436*^9}, {3.547224675574556*^9, 
   3.547224676212592*^9}, {3.5472247754282675`*^9, 3.5472247770593605`*^9}, {
   3.55154090665864*^9, 3.551540907610242*^9}, {3.6192738766118703`*^9, 
   3.61927387773287*^9}, 3.620736315798049*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"Rationalize", "[", 
   RowBox[{
    FractionBox[
     RowBox[{"MKS", "[", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{
         RowBox[{"21.9", " ", 
          SuperscriptBox["95.04", "2"]}], "+", "1.5"}], ")"}], " ", "Gram", 
       " ", 
       SuperscriptBox["Centimeter", "2"]}], "]"}], 
     RowBox[{"Kilogram", " ", 
      SuperscriptBox["Meter", "2"]}]], ",", 
    FractionBox["1", "100000000"]}], "]"}], ";"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10002.},
 CellChangeTimes->{{3.620736315798049*^9, 3.620736326258049*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Joints (generalized coordinates) ", "Subsubsection",
 CellChangeTimes->{
  3.504391119483818*^9, {3.513012126441401*^9, 3.51301212962473*^9}, {
   3.621106255077054*^9, 3.621106260183565*^9}, {3.6211063159771433`*^9, 
   3.621106324697016*^9}, {3.6211671787992463`*^9, 3.6211671793343*^9}, 
   3.6211902010433483`*^9}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"q", "=", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["\[Theta]", "i"], "[", "t", "]"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"i", ",", "1", ",", 
       RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"dq", "=", 
   RowBox[{
    SubscriptBox["\[PartialD]", "t"], "q"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{"ddq", "=", 
   RowBox[{
    SubscriptBox["\[PartialD]", "t"], "dq"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.504391169851249*^9, 3.504391191970865*^9}, {
   3.5129535326917257`*^9, 3.5129535355376797`*^9}, 3.513011937181409*^9, {
   3.513012138013254*^9, 3.513012139016991*^9}, 3.515858456069166*^9, {
   3.5158695182095623`*^9, 3.515869519316625*^9}, {3.541806510608837*^9, 
   3.5418065120889215`*^9}, {3.5418128180025992`*^9, 
   3.5418128209387674`*^9}, {3.541812901623382*^9, 3.5418129418366823`*^9}, {
   3.5418580518152905`*^9, 3.541858054436095*^9}, {3.542730149768303*^9, 
   3.542730150563904*^9}, {3.5427343384327965`*^9, 3.542734340290454*^9}, {
   3.5427348250964565`*^9, 3.5427348273853817`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"qe", "=", 
   RowBox[{"Join", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "}"}]}], "}"}], ",", 
     "q", ",", "1"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{"dqe", "=", 
   RowBox[{
    SubscriptBox["\[PartialD]", "t"], "qe"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.513012131467762*^9, 3.513012222132253*^9}, 
   3.51353184821528*^9, 3.5158584591123405`*^9, {3.515859715694213*^9, 
   3.5158597176283236`*^9}, {3.5418064988411636`*^9, 3.541806507218643*^9}, {
   3.541858033329258*^9, 3.5418580626729097`*^9}, {3.5425486273283887`*^9, 
   3.5425486298405323`*^9}, {3.542730158457518*^9, 3.542730184774764*^9}, 
   3.542734830616359*^9, 3.5429000795414524`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Joint Offsets (Relative to the previous joint, Anatomical position)\
\>", "Subsubsection",
 CellChangeTimes->{
  3.504391119483818*^9, {3.513012126441401*^9, 3.51301212962473*^9}, {
   3.621106255077054*^9, 3.621106260183565*^9}, {3.6211063159771433`*^9, 
   3.6211063457701225`*^9}, {3.621167180470413*^9, 3.621167180918458*^9}, {
   3.621189876855933*^9, 3.621189918161063*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"offsets", "=", 
   RowBox[{"{", "\[IndentingNewLine]", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Toe"}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"-", "lt"}], ",", "0", ",", "hf"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Foot"}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "Lc"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Knee"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "Lt"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Hip"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Nonstance", " ", "Hip"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", 
       RowBox[{"-", "Lt"}]}], "}"}], " ", ",", 
     RowBox[{"(*", " ", 
      RowBox[{"Nonstance", " ", "Knee"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", 
       RowBox[{"-", "Lc"}]}], "}"}]}], " ", 
    RowBox[{"(*", " ", 
     RowBox[{"Nonstance", " ", "Foot"}], " ", "*)"}], "\[IndentingNewLine]", 
    "}"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.621167405599924*^9, 3.6211674096073246`*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
Link center of mass offsets (Relative to the previous joint, Anatomical \
position)\
\>", "Subsection",
 CellChangeTimes->{{3.6032991264476023`*^9, 3.603299130116762*^9}, {
  3.603299246570784*^9, 3.6032992473598022`*^9}, {3.621167182086575*^9, 
  3.621167182526619*^9}, {3.6211901905803022`*^9, 3.621190191818426*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"coms", "=", 
   RowBox[{"{", "\[IndentingNewLine]", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"rfx", ",", "0", ",", "rfz"}], "}"}], ",", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Foot"}], "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "rc"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Calf"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "rt"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Stance", " ", "Thigh"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "rT"}], "}"}], ",", " ", 
     RowBox[{"(*", " ", "Torso", " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", 
       RowBox[{"rt", "-", "Lt"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{
       RowBox[{"Nonstance", " ", "Thigh"}], " ", "-", " ", 
       RowBox[{
       "Will", " ", "mirror", " ", "from", " ", "stance", " ", "calf"}]}], 
      " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", 
       RowBox[{"rc", "-", "Lc"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"Nonstance", " ", "Calf"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"lt", "-", "rfx"}], ",", "0", ",", 
       RowBox[{"rfz", "-", "hf"}]}], "}"}]}], "    ", 
    RowBox[{"(*", " ", 
     RowBox[{"Nonstance", " ", "Foot"}], "*)"}], "\[IndentingNewLine]", 
    "}"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.6032991322132273`*^9, 3.603299143312292*^9}, {
   3.6032991771426992`*^9, 3.6032992070220833`*^9}, {3.603299249743506*^9, 
   3.6032993624298058`*^9}, {3.6033000242511587`*^9, 3.603300094588904*^9}, {
   3.603300132732603*^9, 3.6033001409018173`*^9}, {3.606961871912446*^9, 
   3.6069619791905613`*^9}, {3.609437819796815*^9, 3.609437943613196*^9}, {
   3.609437985756423*^9, 3.609438039324505*^9}, 3.609607625010713*^9, {
   3.6101918198998547`*^9, 3.610191820508*^9}, {3.610640870334146*^9, 
   3.610640886127627*^9}, {3.612543189987705*^9, 3.6125431932020264`*^9}, {
   3.621190022230469*^9, 3.6211901767319174`*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Extra Positions", "Subsection",
 CellChangeTimes->{{3.6033016081071568`*^9, 3.6033016119274054`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"extraPositions", "=", 
   RowBox[{"{", "\[IndentingNewLine]", 
    RowBox[{"(*", " ", 
     RowBox[{"{", 
      RowBox[{"symbol", ",", " ", 
       RowBox[{"parent", " ", "joint"}], ",", " ", "offset"}], "}"}], " ", 
     "*)"}], "\[IndentingNewLine]", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "sfoot"], ",", "1", ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"-", "lt"}], ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"stance", " ", "foot"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "stoe"], ",", "1", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"stance", " ", "toe"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "sheel"], ",", "1", ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          RowBox[{"-", "lt"}], "-", "lh"}], ",", "0", ",", "0"}], "}"}]}], 
      "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"stance", " ", "heel"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "sankle"], ",", "2", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"stance", " ", "ankle"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "sknee"], ",", "3", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"stance", " ", "knee"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "ship"], ",", "4", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"stance", " ", "hip"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "Torso"], ",", "4", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "LT"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", "torso", " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "nship"], ",", "5", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"nonstance", " ", "hip"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "nsknee"], ",", "6", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"nonstance", " ", "knee"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "nsankle"], ",", "7", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"nonstance", " ", "ankle"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "nsfoot"], ",", "7", ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"-", "hf"}]}], "}"}]}], "}"}], ",", 
     RowBox[{"(*", " ", 
      RowBox[{"nonstance", " ", "foot"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "nstoe"], ",", "7", ",", 
       RowBox[{"{", 
        RowBox[{"lt", ",", "0", ",", 
         RowBox[{"-", "hf"}]}], "}"}]}], "}"}], ",", " ", 
     RowBox[{"(*", " ", 
      RowBox[{"nonstance", " ", "toe"}], " ", "*)"}], "\[IndentingNewLine]", 
     RowBox[{"{", 
      RowBox[{
       SubscriptBox["g", "nsheel"], ",", "7", ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"-", "lh"}], ",", "0", ",", 
         RowBox[{"-", "hf"}]}], "}"}]}], "}"}]}], 
    RowBox[{"(*", " ", 
     RowBox[{"stance", " ", "heel"}], " ", "*)"}], "\[IndentingNewLine]", 
    "}"}]}], "\[IndentingNewLine]"}]], "Input",
 CellChangeTimes->{{3.603301615395122*^9, 3.6033017182220297`*^9}, {
   3.603306776880849*^9, 3.603306838208968*^9}, {3.603306908619858*^9, 
   3.6033069096538963`*^9}, {3.6033069469887667`*^9, 3.603306949719123*^9}, {
   3.606962894669469*^9, 3.6069629050480337`*^9}, {3.606962936921527*^9, 
   3.6069630022307177`*^9}, {3.6069630574519444`*^9, 3.6069630652354307`*^9}, 
   3.607150315906514*^9, {3.607151953564386*^9, 3.607151953699951*^9}, 
   3.607152099323807*^9, 3.607152164160987*^9, {3.609438078470183*^9, 
   3.609438159427644*^9}, {3.609438189791356*^9, 3.609438266339723*^9}, {
   3.609438595143525*^9, 3.60943860017402*^9}, 3.609674700973857*^9, {
   3.609674742199273*^9, 3.6096748640034113`*^9}, {3.609674994066597*^9, 
   3.609674994230853*^9}, {3.6096751979374237`*^9, 3.609675209896167*^9}, 
   3.609675246317945*^9, {3.6097752919288597`*^9, 3.609775298486219*^9}, {
   3.609775503440278*^9, 3.6097756116280527`*^9}, {3.609776211852213*^9, 
   3.60977621350002*^9}, {3.6097779854183493`*^9, 3.609777986355302*^9}, {
   3.610191852546775*^9, 3.6101918836861467`*^9}, {3.610192177271143*^9, 
   3.610192230928657*^9}, {3.610640952623671*^9, 3.610641014172772*^9}, {
   3.6106710258952703`*^9, 3.610671044722168*^9}, {3.610675520014838*^9, 
   3.610675531438547*^9}, {3.6125433591306176`*^9, 3.6125434408377876`*^9}, {
   3.612543917278427*^9, 3.612543955464245*^9}, {3.6125440609087887`*^9, 
   3.6125440694276404`*^9}, {3.612808404396239*^9, 3.6128084261342387`*^9}, 
   3.6128341136043997`*^9, 3.6128720333544407`*^9, 3.6211907343834925`*^9, {
   3.621191465311597*^9, 3.621191466646597*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "sfoot"], ",", "1", ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"-", "lt"}], ",", "0", ",", "hf"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "stoe"], ",", "1", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "sheel"], ",", "1", ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        RowBox[{"-", "lh"}], "-", "lt"}], ",", "0", ",", "0"}], "}"}]}], 
    "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "sankle"], ",", "2", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "sknee"], ",", "3", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "ship"], ",", "4", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "Torso"], ",", "4", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "LT"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "nship"], ",", "5", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "nsknee"], ",", "6", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "nsankle"], ",", "7", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "nsfoot"], ",", "7", ",", 
     RowBox[{"{", 
      RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "nstoe"], ",", "7", ",", 
     RowBox[{"{", 
      RowBox[{"lt", ",", "0", ",", 
       RowBox[{"-", "hf"}]}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["g", "nsheel"], ",", "7", ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"-", "lh"}], ",", "0", ",", 
       RowBox[{"-", "hf"}]}], "}"}]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.612808405172239*^9, 3.612808414488239*^9}, 
   3.612832819040355*^9, 3.61283411395442*^9, 3.6128343554852347`*^9, 
   3.612871586022712*^9, 3.612872033932499*^9, 3.6128738540814953`*^9, 
   3.6128845063466153`*^9, 3.6128848521151886`*^9, 3.6128855377417445`*^9, 
   3.6131491112143693`*^9, 3.613149588050356*^9, 3.615832978831128*^9, 
   3.6169358753930187`*^9, 3.616936286278103*^9, 3.6169435628826904`*^9, 
   3.616948936843033*^9, 3.6169531172550325`*^9, 3.6171023828795514`*^9, 
   3.620065317508623*^9, 3.6200685833757033`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["location and direction of twists", "Subsubsection",
 CellChangeTimes->{
  3.504391222051317*^9, {3.513012004436311*^9, 3.513012017657574*^9}}],

Cell["positive z direction", "Text",
 CellChangeTimes->{{3.504895806007092*^9, 3.504895813878101*^9}, {
  3.504899673358274*^9, 3.504899680392001*^9}, {3.5427302505912795`*^9, 
  3.542730251792482*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "0"], "=", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "px"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"PrismaticTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "pz"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"PrismaticTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q0"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"RevoluteTwist", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", 
         RowBox[{"-", "1"}], ",", "0"}], "}"}], "/.", "constsubs"}]}], "]"}], 
    "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q1"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RevoluteTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "Hf"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", 
         RowBox[{"-", "1"}], ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q2"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RevoluteTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", 
         RowBox[{"-", "1"}], ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q3"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RevoluteTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc", "+", "Lt"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", 
         RowBox[{"-", "1"}], ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q4"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RevoluteTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc", "+", "Lt"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q5"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RevoluteTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Xi]", "q6"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RevoluteTwist", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "Hf"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.504391239055382*^9, 3.504391280546184*^9}, {
   3.504393690323417*^9, 3.504393694642943*^9}, {3.504394354402188*^9, 
   3.504394382731842*^9}, 3.504394560552597*^9, {3.504733962343795*^9, 
   3.50473399215855*^9}, {3.504734047207357*^9, 3.504734112723113*^9}, {
   3.504895790317638*^9, 3.504895793671604*^9}, {3.504895835178937*^9, 
   3.504895837468827*^9}, {3.50489969948502*^9, 3.504899711184298*^9}, {
   3.504901355868927*^9, 3.504901367126576*^9}, {3.504901644110264*^9, 
   3.504901651461383*^9}, {3.5125072468769054`*^9, 3.5125072492793093`*^9}, {
   3.512510523268261*^9, 3.512510626680843*^9}, {3.512510703620178*^9, 
   3.5125107228706117`*^9}, {3.5125107694990935`*^9, 
   3.5125107706690955`*^9}, {3.512510874416078*^9, 3.5125108760228806`*^9}, {
   3.5125109282169724`*^9, 3.5125109524594145`*^9}, 3.512511205857059*^9, {
   3.5125116217689886`*^9, 3.5125116245925937`*^9}, {3.512512838505127*^9, 
   3.5125128440899363`*^9}, 3.5125154382821627`*^9, 3.512515631401702*^9, {
   3.512515675315779*^9, 3.512515677234583*^9}, {3.512515713489046*^9, 
   3.51251571545465*^9}, {3.5125157856379766`*^9, 3.5125157895691843`*^9}, {
   3.5125160948139267`*^9, 3.512516101631139*^9}, {3.5125163059110966`*^9, 
   3.512516337906753*^9}, 3.5125169799917154`*^9, 3.512517350494175*^9, {
   3.5125175771075783`*^9, 3.512517615811246*^9}, {3.5125182182931213`*^9, 
   3.5125182275127373`*^9}, {3.513011948790205*^9, 3.513011986836761*^9}, {
   3.513012028383106*^9, 3.513012030110642*^9}, {3.513531858718806*^9, 
   3.513531893067239*^9}, {3.513869388669607*^9, 3.513869391129299*^9}, {
   3.513956274948754*^9, 3.513956281701611*^9}, {3.5155018106921597`*^9, 
   3.515501813883342*^9}, {3.515501850954462*^9, 3.5155018542846527`*^9}, {
   3.5158584657537203`*^9, 3.515858513238436*^9}, {3.515869263882015*^9, 
   3.5158692653601*^9}, {3.5158703231956043`*^9, 3.515870326599799*^9}, {
   3.515886006277178*^9, 3.5158860120335884`*^9}, {3.5167081937628703`*^9, 
   3.5167082227325273`*^9}, 3.51670884415207*^9, {3.5418074444672503`*^9, 
   3.541807512144121*^9}, {3.541807551558376*^9, 3.541807580197014*^9}, {
   3.5418081022288723`*^9, 3.5418081246781564`*^9}, {3.5418092778921165`*^9, 
   3.5418093036105876`*^9}, {3.5418105140608215`*^9, 
   3.5418105241954007`*^9}, {3.5418114094460344`*^9, 3.541811435316514*^9}, {
   3.541812948721076*^9, 3.541812956384514*^9}, 3.541858299743328*^9, {
   3.5418592927854695`*^9, 3.541859326543929*^9}, {3.5425426329153013`*^9, 
   3.542542641067768*^9}, {3.5425429417109632`*^9, 3.5425429534616356`*^9}, {
   3.5425682062398987`*^9, 3.542568210870906*^9}, {3.5427292930563974`*^9, 
   3.5427293451916895`*^9}, {3.5427350714891305`*^9, 3.5427351619514737`*^9}, 
   3.5427361888172445`*^9, 3.5429844207022*^9, 3.542985277885228*^9, {
   3.5430101410880747`*^9, 3.543010171630821*^9}, {3.5447123218211536`*^9, 
   3.5447123296546016`*^9}, {3.545266552065091*^9, 3.545266554821249*^9}, 
   3.6207363680580487`*^9, {3.6211898114453926`*^9, 3.621189811450393*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["base configuration", "Subsubsection",
 CellChangeTimes->{
  3.504391314503995*^9, {3.513011998415469*^9, 3.513011998449444*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "1"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"rfx", " ", ",", "0", ",", "rfz"}], " ", "}"}]}], "]"}], "/.",
      "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "2"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "rc"}]}], " ", "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "3"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc", "+", "rt"}]}], " ", "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "4"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc", "+", "Lt", "+", "LT"}]}], "}"}]}], "]"}], "/.",
      "\[InvisibleSpace]", "constsubs"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "5"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc", "+", "Lt", "+", "LT", "+", "Lb"}]}], 
        "}"}]}], "]"}], "/.", "\[InvisibleSpace]", "constsubs"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "6"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "Lc", "+", "rt"}]}], " ", "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "7"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", 
         RowBox[{"Hf", "+", "rc"}]}], " ", "}"}]}], "]"}], "/.", 
     "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "8"]], "[", "0", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"RPToHomogeneous", "[", 
      RowBox[{
       RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
       RowBox[{"{", 
        RowBox[{"rfx", " ", ",", "0", ",", "rfz"}], " ", "}"}]}], "]"}], "/.",
      "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.541809370562417*^9, 3.5418093740586166`*^9}, 
   3.541809679358079*^9, {3.5418114374686375`*^9, 3.54181144538809*^9}, {
   3.541859399947259*^9, 3.541859411397679*^9}, {3.541859555463932*^9, 
   3.541859707064998*^9}, {3.541871690391839*^9, 3.5418716942450457`*^9}, {
   3.542729144169736*^9, 3.542729162796169*^9}, {3.542735238561646*^9, 
   3.54273524424045*^9}, {3.542987042644167*^9, 3.542987088187772*^9}, {
   3.5430101802473145`*^9, 3.5430102435789366`*^9}, {3.5430108555009365`*^9, 
   3.543010857449048*^9}, {3.5447123428363557`*^9, 3.5447123660556836`*^9}, {
   3.5452666118953*^9, 3.545266613747406*^9}, {3.54722533616634*^9, 
   3.5472253686982*^9}, {3.54724180077975*^9, 3.547241869871235*^9}, {
   3.5472419070109386`*^9, 3.5472419071439457`*^9}, {3.6211898114613943`*^9, 
   3.6211898114643946`*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["forward kinematics", "Subsubsection",
 CellChangeTimes->{{3.516466220887102*^9, 3.51646622347725*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "1"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "1"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "2"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "2"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "3"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "3"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "4"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "4"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "5"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "5"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "6"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "6"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "7"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "7"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", 
     SubscriptBox["sl", "8"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q6"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "8"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.5297630988171124`*^9, 3.52976314318359*^9}, {
   3.529763213180913*^9, 3.5297632429457655`*^9}, {3.5297632939734554`*^9, 
   3.529763418617674*^9}, {3.5297640193941355`*^9, 3.529764020354191*^9}, 
   3.529768915904381*^9, {3.5297970280249968`*^9, 3.529797079224286*^9}, 
   3.5298066558203716`*^9, {3.5299344934146757`*^9, 3.5299345140378556`*^9}, {
   3.5314342598205905`*^9, 3.5314342833766317`*^9}, {3.5314367216724205`*^9, 
   3.5314367719669085`*^9}, {3.5315013092709036`*^9, 3.5315013294460573`*^9}, 
   3.531501419253194*^9, {3.531502796964778*^9, 3.531502819366417*^9}, {
   3.5315042029288855`*^9, 3.5315042780051794`*^9}, {3.5315150315305457`*^9, 
   3.5315150701094136`*^9}, {3.531516396790783*^9, 3.531516433887648*^9}, {
   3.5315726721695642`*^9, 3.531572690407607*^9}, {3.5315794306875415`*^9, 
   3.531579468034007*^9}, {3.5351425076223316`*^9, 3.5351425264047647`*^9}, {
   3.5354008027451763`*^9, 3.535400815521599*^9}, {3.5385861328515244`*^9, 
   3.5385861552488055`*^9}, {3.543104332748752*^9, 3.5431044548477354`*^9}, 
   3.5431046912362566`*^9, {3.5431047238661222`*^9, 3.5431047685586786`*^9}, {
   3.54310491631613*^9, 3.543104933117091*^9}, {3.5431052729695296`*^9, 
   3.5431052823050632`*^9}, {3.5472254873509865`*^9, 3.547225487777011*^9}, {
   3.5472265695068827`*^9, 3.5472265860948315`*^9}, {3.5472266409189672`*^9, 
   3.5472266503905087`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "1"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "1"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "2"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "2"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "3"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "3"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "4"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "4"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "5"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "5"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "6"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "6"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "7"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "7"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", 
     SubscriptBox["sl", "8"]], "[", "\[Theta]", "]"}], "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q6"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", 
         SubscriptBox["sl", "8"]], "[", "0", "]"}]}], "]"}], "]"}], "/.", 
    "constsubs"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.543104505647641*^9, 3.543104512216017*^9}, {
   3.543104551015236*^9, 3.543104579706877*^9}, {3.543104744033276*^9, 
   3.5431047645624504`*^9}, {3.5431049379963703`*^9, 3.543104948377964*^9}, 
   3.543105284531191*^9, 3.543363670019683*^9, 3.5447124567458706`*^9, {
   3.5472268660898457`*^9, 3.547226914427611*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "1"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "1"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "2"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "2"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "3"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q2"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "3"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "4"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q2"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q3"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "4"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "5"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q2"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q3"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "5"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "6"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q2"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q3"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q4"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "6"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "7"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q2"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q3"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q4"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q5"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "7"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[ScriptCapitalJ]e", "8"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"BodyJacobian", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "px"], ",", 
        RowBox[{
         SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "pz"], ",", 
        RowBox[{
         SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q0"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q1"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q2"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q3"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q4"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q5"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[Xi]", "q6"], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
      RowBox[{
       SubscriptBox["g", 
        SubscriptBox["sl", "8"]], "[", "0", "]"}]}], "]"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"Dimensions", "[", 
  SubscriptBox["\[ScriptCapitalJ]e", "8"], "]"}]}], "Input",
 CellChangeTimes->{{3.516708682282812*^9, 3.5167087197409544`*^9}, 
   3.5167087910620337`*^9, 3.516708838777763*^9, {3.5214850806051655`*^9, 
   3.5214850811161947`*^9}, {3.5214874306163054`*^9, 3.521487430743313*^9}, {
   3.5222455685137215`*^9, 3.5222455686177273`*^9}, 3.5222467729536114`*^9, {
   3.541809698454171*^9, 3.5418097079657154`*^9}, {3.541810555006163*^9, 
   3.5418105563442397`*^9}, 3.541810606436105*^9, {3.541811447890233*^9, 
   3.5418114570897593`*^9}, {3.5418129736755033`*^9, 
   3.5418130053613157`*^9}, {3.5418717938980207`*^9, 3.541871805863242*^9}, {
   3.5418718676469517`*^9, 3.5418719657555237`*^9}, {3.5427290095882998`*^9, 
   3.5427290321771393`*^9}, {3.5427290833764296`*^9, 
   3.5427292528707275`*^9}, {3.5431048006935167`*^9, 3.543104824756893*^9}, {
   3.547227154801359*^9, 3.5472271885512896`*^9}, {3.5472282769635434`*^9, 
   3.5472282916083813`*^9}, 3.620758806296049*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"6", ",", "9"}], "}"}]], "Output",
 CellChangeTimes->{
  3.547228292443429*^9, 3.5472283974264336`*^9, 3.547229298830991*^9, 
   3.547229755854131*^9, 3.5472299652371073`*^9, {3.5472308159667664`*^9, 
   3.547230832687722*^9}, 3.547231788714404*^9, 3.547231914157579*^9, 
   3.547231966935598*^9, 3.547232071372571*^9, 3.5472406963176117`*^9, 
   3.5472409012533665`*^9, 3.5472419580866756`*^9, 3.5473093585411444`*^9, 
   3.5474027497545385`*^9, 3.5474032461419306`*^9, 3.5474035234627924`*^9, 
   3.54749151482161*^9, 3.5477685274802675`*^9, 3.547830416101654*^9, 
   3.5478995704730587`*^9, 3.5478998212334013`*^9, 3.5515414245483503`*^9, 
   3.5526506024165554`*^9, {3.5526529020600877`*^9, 3.5526529213301897`*^9}, 
   3.55282846777218*^9, 3.5529323701730576`*^9, 3.5529325179395094`*^9, 
   3.556317807167967*^9, 3.5563253438948526`*^9, 3.5563273127563705`*^9, 
   3.5563854614278097`*^9, 3.556833543798015*^9, 3.5813374061664*^9, 
   3.5880207694372573`*^9, 3.5926615105175667`*^9, 3.619028516229746*^9, 
   3.619028887670746*^9, 3.6190319514617457`*^9, 3.6192746712496977`*^9, 
   3.620230491806344*^9, 3.6202305362597885`*^9, 3.6202309808812466`*^9, 
   3.620231047194877*^9, 3.620232196811827*^9, 3.620232356475792*^9, 
   3.620236125304637*^9, 3.620236252668372*^9, {3.6202375659496875`*^9, 
   3.620237577189811*^9}, 3.620238859553035*^9, 3.6202389634684253`*^9, 
   3.6202390015242305`*^9, 3.6202390381858964`*^9, 3.620239607600832*^9, 
   3.6202398973778067`*^9, 3.6202405712191844`*^9, 3.6202411129153996`*^9, 
   3.6202565580148163`*^9, 3.6202569602368164`*^9, 3.6202578922438164`*^9, 
   3.6202581916548166`*^9, 3.6202584513678164`*^9, 3.6202589374048166`*^9, 
   3.620259057497816*^9, 3.620259215556816*^9, 3.6202600790318165`*^9, 
   3.6202603504548163`*^9, 3.6202611604728165`*^9, 3.620261387997816*^9, 
   3.6202621788038163`*^9, 3.6203020484172783`*^9, 3.620302597867218*^9, 
   3.620302862892718*^9, 3.6203033149089146`*^9, 3.6203035203224545`*^9, 
   3.6203037676041803`*^9, 3.6203040121756344`*^9, 3.620304702419652*^9, 
   3.620305267537158*^9, 3.620306194769872*^9, 3.620306429851378*^9, 
   3.6203077449368734`*^9, 3.620308015361913*^9, 3.6203080908854647`*^9, 
   3.620308185388914*^9, 3.6203088050648756`*^9, {3.620317866896968*^9, 
   3.6203178884641247`*^9}, 3.620318407326006*^9, 3.620319255132778*^9, 
   3.620735428781049*^9, 3.620735575956049*^9, 3.620735807031049*^9, {
   3.6207360648300486`*^9, 3.620736091115049*^9}, 3.620736177232049*^9, 
   3.620736207654049*^9, 3.6207497082380486`*^9, 3.6207497569990487`*^9, 
   3.6207497973300486`*^9, 3.620749849714049*^9, 3.6207595092190485`*^9, 
   3.6207611612850485`*^9}]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"Table", "[", 
   RowBox[{
    RowBox[{
     RowBox[{
      SubscriptBox["g", "j"], "[", "\[Theta]", "]"}], "=", 
     RowBox[{"ParallelSimplify", "@", 
      RowBox[{"(", 
       RowBox[{"ForwardKinematics", "@@", 
        RowBox[{"Append", "[", 
         RowBox[{
          RowBox[{"Join", "[", 
           RowBox[{
            RowBox[{"{", 
             RowBox[{
              RowBox[{"{", 
               RowBox[{
                SubscriptBox["\[Xi]", "px"], ",", 
                RowBox[{
                 SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
              RowBox[{"{", 
               RowBox[{
                SubscriptBox["\[Xi]", "pz"], ",", 
                RowBox[{
                 SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}]}], "}"}], 
            ",", 
            RowBox[{"Table", "[", 
             RowBox[{
              RowBox[{"{", 
               RowBox[{
                SubscriptBox["\[Xi]", 
                 RowBox[{"If", "[", 
                  RowBox[{
                   RowBox[{"i", "\[LessEqual]", "j"}], ",", 
                   RowBox[{"Symbol", "[", 
                    RowBox[{"\"\<q\>\"", "<>", 
                    RowBox[{"ToString", "[", 
                    RowBox[{"i", "-", "1"}], "]"}]}], "]"}], ",", "0"}], 
                  "]"}]], ",", 
                RowBox[{
                 SubscriptBox["\[Theta]", 
                  RowBox[{"i", "-", "1"}]], "[", "t", "]"}]}], "}"}], ",", 
              RowBox[{"{", 
               RowBox[{"i", ",", 
                RowBox[{"Length", "[", "qe", "]"}]}], "}"}]}], "]"}]}], "]"}],
           ",", 
          RowBox[{
           SubscriptBox["g", 
            SubscriptBox["sl", "j"]], "[", "0", "]"}]}], "]"}]}], ")"}]}]}], 
    ",", 
    RowBox[{"{", 
     RowBox[{"j", ",", 
      RowBox[{"Length", "[", "mm", "]"}]}], "}"}]}], "]"}], ";"}]], "Input",
 CellChangeTimes->{{3.542730612051915*^9, 3.542730879075585*^9}, {
  3.5431046687209682`*^9, 3.543104680134621*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["calculate the forward kinematics maps (aniplot)", "Subsubsection",
 CellChangeTimes->{
  3.504391365377686*^9, {3.513012058700656*^9, 3.513012059089004*^9}, {
   3.513013029501931*^9, 3.513013029568491*^9}, {3.5375471566686125`*^9, 
   3.537547158607723*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sf"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "st"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"lt", ",", "0", ",", "0"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sh"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"-", "lh"}], ",", "0", ",", "0"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sa"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "Hf"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sk"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", 
        RowBox[{"Hf", "+", "Lc"}]}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "ship"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", 
        RowBox[{"Hf", "+", "Lc", "+", "Lt"}]}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "torso"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", 
        RowBox[{"Hf", "+", "Lc", "+", "Lt", "+", "LT"}]}], "}"}]}], "]"}], "//.",
     "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nship"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", 
        RowBox[{"Hf", "+", "Lc", "+", "Lt"}]}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsk"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", 
        RowBox[{"Hf", "+", "Lc"}]}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsa"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "Hf"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsh"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"-", "lh"}], ",", "0", ",", "0"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nst"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"lt", ",", "0", ",", "0"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsf"], "[", "0", "]"}], "=", 
   RowBox[{
    RowBox[{"RPToHomogeneous", "[", 
     RowBox[{
      RowBox[{"IdentityMatrix", "[", "3", "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "]"}], "//.", 
    "\[InvisibleSpace]", "constsubs"}]}], ";"}]}], "Input",
 CellChangeTimes->{
  3.504391344841228*^9, {3.504393660794399*^9, 3.504393663580984*^9}, {
   3.504393700919354*^9, 3.504393704560237*^9}, 3.504477320678662*^9, 
   3.504477372811738*^9, {3.5125106491760826`*^9, 3.5125106821701403`*^9}, {
   3.5125108958281155`*^9, 3.512510897871719*^9}, {3.513012037683773*^9, 
   3.513012046816517*^9}, {3.51353190099301*^9, 3.513531902632749*^9}, {
   3.513875671984485*^9, 3.513875737139051*^9}, {3.515858621125607*^9, 
   3.51585862956809*^9}, {3.5158693201992364`*^9, 3.515869321718323*^9}, {
   3.515886061969276*^9, 3.5158860734820957`*^9}, {3.516708239115464*^9, 
   3.5167082431056924`*^9}, {3.517679572905896*^9, 3.5176795767731175`*^9}, {
   3.5245015787767916`*^9, 3.5245015877623053`*^9}, {3.527424174451967*^9, 
   3.527424174975839*^9}, {3.5277256855926723`*^9, 3.527725689888918*^9}, {
   3.537552677591391*^9, 3.537552730003389*^9}, {3.5375527810023055`*^9, 
   3.5375528292260637`*^9}, {3.53807071887615*^9, 3.5380707952538843`*^9}, {
   3.5381601582699237`*^9, 3.53816017912716*^9}, {3.5382669483592653`*^9, 
   3.5382669513544707`*^9}, {3.5382670857849073`*^9, 3.53826708745411*^9}, 
   3.5382671665004487`*^9, 3.5382672207573442`*^9, 3.538267295497075*^9, 
   3.5382673336547422`*^9, {3.5387330655355225`*^9, 3.5387331383106847`*^9}, {
   3.5387333210411367`*^9, 3.5387333244403305`*^9}, {3.538733615895001*^9, 
   3.538733637920261*^9}, {3.538733693695451*^9, 3.538733718257856*^9}, {
   3.538748011720395*^9, 3.538748023293057*^9}, {3.5399135286464396`*^9, 
   3.5399135385260043`*^9}, {3.5399135876918163`*^9, 
   3.5399135995804963`*^9}, {3.539978631491109*^9, 3.539978650862217*^9}, 
   3.539978774787305*^9, {3.5418099721648264`*^9, 3.5418099895318203`*^9}, {
   3.5418101098707027`*^9, 3.5418101781156063`*^9}, {3.5418102157937613`*^9, 
   3.541810343341057*^9}, {3.541811117321326*^9, 3.5418111264808493`*^9}, {
   3.5418597560334845`*^9, 3.541859803816368*^9}, {3.541862683301814*^9, 
   3.54186270927586*^9}, {3.5425488963617764`*^9, 3.542548912944725*^9}, {
   3.542568102940754*^9, 3.5425681378438025`*^9}, {3.543010250422328*^9, 
   3.543010296241949*^9}, {3.5472273159005737`*^9, 3.547227320468835*^9}, {
   3.5472273768760614`*^9, 3.5472274555005584`*^9}, {3.621189811484397*^9, 
   3.6211898114883966`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sf"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "0"], ",", "0"}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "sf"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "st"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "0"], ",", "0"}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "st"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sh"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "0"], ",", "0"}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "sh"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sa"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "0"], ",", "0"}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "sa"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "sk"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "sk"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "ship"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "torso"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "torso"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nship"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nship"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsk"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsk"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsa"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsh"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q6"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsh"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nst"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q6"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nst"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["g", "nsf"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q6"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsf"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.541870651216957*^9, 3.5418706794686065`*^9}, {
  3.542568156315829*^9, 3.5425681853178697`*^9}, {3.5425682951010237`*^9, 
  3.542568299911031*^9}, {3.5427303424286413`*^9, 3.542730423275984*^9}, {
  3.5427366799522896`*^9, 3.542736697057826*^9}, {3.542737370758452*^9, 
  3.5427374470554304`*^9}, {3.5429003152890663`*^9, 3.542900386955592*^9}, {
  3.5472274683652945`*^9, 3.5472275581494293`*^9}, {3.5472275934664497`*^9, 
  3.547227625046256*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["aniplot", "Subsubsection",
 CellChangeTimes->{{3.51387566509846*^9, 3.513875667385709*^9}, {
  3.513876273981033*^9, 3.51387627490601*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"pos", "=", 
   RowBox[{
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        SubscriptBox["g", "sa"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "sh"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "st"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "sa"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "sk"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "torso"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "nship"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsk"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "nst"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsh"], "[", "\[Theta]", "]"}], ",", 
       RowBox[{
        SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}]}], "}"}], 
     "\[LeftDoubleBracket]", 
     RowBox[{
      RowBox[{"1", ";;", "All"}], ",", 
      RowBox[{"{", 
       RowBox[{"1", ",", "3"}], "}"}], ",", "4"}], "\[RightDoubleBracket]"}], 
    "\[Transpose]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"SetDirectory", "[", 
    RowBox[{
     RowBox[{"NotebookDirectory", "[", "]"}], "<>", "\"\<build_torso\>\""}], 
    "]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetOptions", "[", 
   RowBox[{"WriteMatlabFunction", ",", 
    RowBox[{"Arguments", "\[Rule]", 
     RowBox[{"{", "x", "}"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"FileName", "=", "\"\<jpos_mat\>\""}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"jpos", " ", "=", " ", 
   RowBox[{
    RowBox[{"pos", "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
    "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"WriteMatlabFunction", "[", 
  RowBox[{"FileName", ",", "jpos"}], "]"}], "\[IndentingNewLine]"}], "Input",
 CellChangeTimes->{{3.513875953621905*^9, 3.513876010689337*^9}, {
   3.513876043248599*^9, 3.51387610532577*^9}, {3.513876169675573*^9, 
   3.513876183706996*^9}, {3.513887655923167*^9, 3.513887658548081*^9}, {
   3.513888227999695*^9, 3.513888239050703*^9}, {3.5158587000371203`*^9, 
   3.51585871925922*^9}, {3.5158693371802073`*^9, 3.5158693660608597`*^9}, {
   3.5158696092147675`*^9, 3.5158696155961323`*^9}, {3.515886157784644*^9, 
   3.515886172869871*^9}, {3.516708254867365*^9, 3.5167082553383923`*^9}, {
   3.541810418095332*^9, 3.5418104211185055`*^9}, {3.541811212890792*^9, 
   3.5418112162019815`*^9}, {3.541862754235139*^9, 3.5418627824867887`*^9}, {
   3.5418628258236647`*^9, 3.541862906819007*^9}, {3.5418630211748095`*^9, 
   3.541863023280813*^9}, {3.541863081094515*^9, 3.541863105352557*^9}, {
   3.541863138643016*^9, 3.541863190637907*^9}, {3.5418632874516773`*^9, 
   3.541863352363391*^9}, 3.542472441043125*^9, {3.5429004000128155`*^9, 
   3.542900405457225*^9}, {3.542987196044941*^9, 3.542987200914219*^9}, {
   3.5472276346388044`*^9, 3.5472276839176235`*^9}, 3.5474911332357845`*^9, {
   3.5528284523202963`*^9, 3.5528284531213417`*^9}, {3.55683352413516*^9, 
   3.556833530225739*^9}, {3.6203018855709953`*^9, 3.620301898746313*^9}, {
   3.6203046568210926`*^9, 3.6203046934517555`*^9}, {3.6203052567680817`*^9, 
   3.6203052569921036`*^9}, 3.6203077610594854`*^9, {3.6203087990242715`*^9, 
   3.620308799535323*^9}, {3.6207579311910486`*^9, 3.6207579426900487`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"vtoe", "=", " ", 
   RowBox[{
    SubscriptBox["\[PartialD]", "t"], 
    RowBox[{"pos", "\[LeftDoubleBracket]", 
     RowBox[{"1", ",", "12"}], "\[RightDoubleBracket]"}]}]}], ";"}]], "Input",\

 CellChangeTimes->{{3.547490117955714*^9, 3.5474901814473457`*^9}, 
   3.620307752556635*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"test", " ", "=", " ", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      RowBox[{
       SubscriptBox["p", "x"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["p", "z"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "\[Rule]", "0.2"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.3"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "\[Rule]", "0.1"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "\[Rule]", "0.4"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.2"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "6"], "[", "t", "]"}], "\[Rule]", "0.1"}]}], 
    "}"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.542987203468365*^9, 3.5429872568014154`*^9}, {
   3.542987330550634*^9, 3.5429873497577324`*^9}, {3.5446245422125444`*^9, 
   3.544624595365585*^9}, 3.620757948070049*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"testval", "=", 
   RowBox[{"Join", "[", 
    RowBox[{
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{
         SubscriptBox["\[Theta]", "i"], "[", "t", "]"}], "->", 
        RowBox[{
         RowBox[{"{", 
          RowBox[{"0.221239332041986", ",", "0.101780805101294", ",", 
           RowBox[{"-", "0.637383872483534"}], ",", "0.159314134330659", ",", 
           "0.539214942189742", ",", "0.147629355500069"}], "}"}], "[", 
         RowBox[{"[", "i", "]"}], "]"}]}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", "6"}], "}"}]}], "]"}], ",", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{
          SubscriptBox["\[Theta]", "i"], "'"}], "[", "t", "]"}], "->", 
        RowBox[{
         RowBox[{"{", 
          RowBox[{"0.123802245355501", ",", 
           RowBox[{"-", "0.118351579433827"}], ",", 
           RowBox[{"-", "2.351151470443853"}], ",", "3.129536379532168", ",", 
           
           RowBox[{"-", "0.722226294284023"}], ",", "0.133219859731242"}], 
          "}"}], "[", 
         RowBox[{"[", "i", "]"}], "]"}]}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", "6"}], "}"}]}], "]"}]}], "]"}]}], 
  ";"}]], "Input",
 CellChangeTimes->{{3.5173209584749875`*^9, 3.5173210724245048`*^9}, {
   3.517321247432515*^9, 3.5173212529188285`*^9}, {3.5173232113088417`*^9, 
   3.517323221924449*^9}, {3.53072272280212*^9, 3.5307227229113207`*^9}, {
   3.5307230525866995`*^9, 3.5307230526802998`*^9}, {3.5307239802124434`*^9, 
   3.530723980399644*^9}, 3.5307258430727243`*^9, 3.530727094648729*^9, {
   3.5307278417284417`*^9, 3.530727841900042*^9}, 3.5308046591524487`*^9, 
   3.530805289740516*^9, 3.530807135248373*^9, {3.5314339339952164`*^9, 
   3.531433973369685*^9}, {3.5314342002752857`*^9, 3.5314342376685514`*^9}, {
   3.531437916673567*^9, 3.531437918985699*^9}, {3.5314396852237225`*^9, 
   3.5314396935671997`*^9}, {3.5315040168762436`*^9, 
   3.5315040199644203`*^9}, {3.53151498825607*^9, 3.5315149970856853`*^9}, {
   3.531516325763858*^9, 3.531516339367082*^9}, {3.531572633028325*^9, 
   3.531572642411862*^9}, {3.5366081769470234`*^9, 3.536608211122978*^9}, {
   3.5366317933643026`*^9, 3.5366318873396773`*^9}, {3.536633723190682*^9, 
   3.5366337235187006`*^9}, {3.5385868256671515`*^9, 
   3.5385868456502943`*^9}, {3.543105585184387*^9, 3.5431056650909576`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"xminusStatesubs", " ", "=", " ", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      RowBox[{
       SubscriptBox["p", "x"], "[", "t", "]"}], "\[Rule]", " ", "0.0000"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["p", "z"], "[", "t", "]"}], "\[Rule]", " ", 
      RowBox[{"-", "0.0000"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     "\n", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.3106"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "\[Rule]", "0.2487"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "\[Rule]", "0.0619"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.1527"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "\[Rule]", "0.4298"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "6"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.2771"}]}]}], "}"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"xplusStatesubs", " ", "=", " ", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{
      RowBox[{
       SubscriptBox["p", "x"], "[", "t", "]"}], "\[Rule]", " ", "0.0000"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["p", "z"], "[", "t", "]"}], "\[Rule]", " ", 
      RowBox[{"-", "0.0000"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "\[Rule]", "0"}], ",", 
     "\n", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.2771"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "\[Rule]", "0.4298"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.1527"}]}], ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "\[Rule]", "0.0619"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "\[Rule]", "0.2487"}], 
     ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "6"], "[", "t", "]"}], "\[Rule]", 
      RowBox[{"-", "0.3106"}]}]}], "}"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.620759663463049*^9, 3.6207597256830487`*^9}, {
  3.6207601105000486`*^9, 3.6207601138110485`*^9}, {3.6207605417520485`*^9, 
  3.6207605433350487`*^9}, {3.620760864859049*^9, 3.620760911688049*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"Testpose", "=", 
   RowBox[{"pos", "/.", "xminusStatesubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"List1", "=", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{"Testpose", "[", 
        RowBox[{"[", 
         RowBox[{"1", ",", "i"}], "]"}], "]"}], ",", 
       RowBox[{"Testpose", "[", 
        RowBox[{"[", 
         RowBox[{"2", ",", "i"}], "]"}], "]"}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"i", ",", "1", ",", "13"}], "}"}]}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Testpose2", "=", 
   RowBox[{"pos", "/.", "xplusStatesubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"List2", "=", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{
         RowBox[{"Testpose2", "[", 
          RowBox[{"[", 
           RowBox[{"1", ",", "i"}], "]"}], "]"}], "+", "0.1"}], ",", 
        RowBox[{"Testpose2", "[", 
         RowBox[{"[", 
          RowBox[{"2", ",", "i"}], "]"}], "]"}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{"i", ",", "1", ",", "13"}], "}"}]}], "]"}]}], ";"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{"ListLinePlot", "[", 
  RowBox[{
   RowBox[{"Join", "[", 
    RowBox[{"List1", ",", "List2"}], "]"}], ",", 
   RowBox[{"AspectRatio", "\[Rule]", "2"}], ",", 
   RowBox[{"PlotMarkers", "\[Rule]", 
    RowBox[{"{", "\"\<O\>\"", "}"}]}]}], "]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"pos", "/.", "xminusStatesubs"}], "//", "MatrixForm"}], 
   "*)"}]}]}], "Input",
 CellChangeTimes->{{3.6207575611010485`*^9, 3.620757623362049*^9}, {
   3.620757732008049*^9, 3.6207577743680487`*^9}, {3.6207579976040487`*^9, 
   3.6207579994410486`*^9}, {3.620758048622049*^9, 3.6207581455850487`*^9}, {
   3.6207582053010488`*^9, 3.6207583133020487`*^9}, {3.620758374034049*^9, 
   3.6207583870330486`*^9}, {3.620758419871049*^9, 3.6207584372290487`*^9}, {
   3.6207585020090485`*^9, 3.6207585284550486`*^9}, {3.6207586356570487`*^9, 
   3.620758667735049*^9}, {3.6207588157490487`*^9, 3.620758852563049*^9}, {
   3.620758970293049*^9, 3.620759159319049*^9}, {3.620759236531049*^9, 
   3.620759236714049*^9}, {3.620759279161049*^9, 3.620759329916049*^9}, {
   3.6207593760970488`*^9, 3.620759383817049*^9}, {3.6207594346700487`*^9, 
   3.6207594920970488`*^9}, {3.620759536487049*^9, 3.620759559430049*^9}, {
   3.620759617938049*^9, 3.6207596551670485`*^9}, {3.620759730852049*^9, 
   3.6207598119590487`*^9}, {3.620759850947049*^9, 3.6207598938160486`*^9}, {
   3.6207600839100485`*^9, 3.6207600967240486`*^9}, 3.6207605528700485`*^9, {
   3.6207609188230486`*^9, 3.620760919447049*^9}}],

Cell[BoxData[
 GraphicsBox[{{}, {{{}, {}, 
     {RGBColor[0.368417, 0.506779, 0.709798], PointSize[
      0.019444444444444445`], AbsoluteThickness[1.6], LineBox[CompressedData["

1:eJxTTMoPSmViYGCQAmIQDQPLuNxUS5lW2UPp/TDxv+1fbl9vPGzPgAZg6r3T
vW9LnNlv71Lu+F2D5Y49p8e629dkD9vfyhY8+u7PK3suKP+kXOfFH00fMeQv
//wfUcB+2n6tffeuRy537JUnRK/ZNWOnPcOT5JR85lX2bBqCM6XUL9gftNTe
/dj9vt1C0UJjBv2VcD66+lkzQWAnzB/2fRpvefcZrIS7P3VVQkgQ0DwYH0P9
v3nn7wPd09SyvOgw0D1HfXyD3OQO2zv3ySveB7oXxv+nP+H/B6B/0OUPFXSe
+A4MD/E9ses5geHBwKB/cPnd13b2hhrPqhhX2e/smRzk3nTY/sVNHZD79+34
ftJrO8Oq/TA+unoA0bKy9w==
       "]]}}, {
     {RGBColor[0.368417, 0.506779, 0.709798], PointSize[
      0.019444444444444445`], AbsoluteThickness[1.6], 
      GeometricTransformationBox[
       TagBox[InsetBox["O", {0., 0.}],
        "InsetString"], CompressedData["
1:eJxTTMoPSmVmYGCQAmJGIGZiQIBlXG6qpUyr7KH0fpj43/Yvt683HrZnQAMw
9d7p3rclzuy3dyl3/K7Bcsee02Pd7Wuyh+1vZQsefffnlT0XlH9SrvPij6aP
GPKXf/6PKGA/bb/WvnvXI5c79soTotfsmrHTnuFJcko+8yp7Ng3BmVLqF+wP
Wmrvfux+326haKExg/5KOB9d/ayZILAT5g/7Po23vPsMVsLdn7oqISQIaB6M
j6H+37zz94HuaWpZXnQY6J6jPr5BbnKH7Z375BXvA90L4//Tn/D/A9A/6PKH
CjpPfAeGh/ie2PWcwPBgYNA/uPzuazt7Q41nVYyr7Hf2TA5ybzps/+KmDsj9
+3Z8P+m1nWHVfhgfXT0A3CKy+Q==
       "]]}, {}}}, {}},
  AspectRatio->2,
  Axes->{True, True},
  AxesLabel->{None, None},
  AxesOrigin->{0, 0},
  DisplayFunction->Identity,
  Frame->{{False, False}, {False, False}},
  FrameLabel->{{None, None}, {None, None}},
  FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}},
  GridLines->{None, None},
  GridLinesStyle->Directive[
    GrayLevel[0.5, 0.4]],
  ImageSize->{272.57161703732214`, Automatic},
  Method->{},
  PlotRange->{{-0.0508, 0.2524}, {-7.4579283360549196`*^-6, 
   1.0944755730615034`}},
  PlotRangeClipping->True,
  PlotRangePadding->{{
     Scaled[0.02], 
     Scaled[0.02]}, {
     Scaled[0.05], 
     Scaled[0.05]}},
  Ticks->{Automatic, Automatic}]], "Output",
 CellChangeTimes->{{3.6207585104260488`*^9, 3.620758528832049*^9}, 
   3.6207586327880487`*^9, 3.620758670225049*^9, {3.6207588349400487`*^9, 
   3.6207588558560486`*^9}, {3.620758984438049*^9, 3.620759137293049*^9}, 
   3.620759237751049*^9, {3.620759281451049*^9, 3.620759330728049*^9}, 
   3.6207593843960485`*^9, {3.6207594390990486`*^9, 3.620759559753049*^9}, {
   3.620759636268049*^9, 3.620759655850049*^9}, 3.6207597612230487`*^9, {
   3.620759798333049*^9, 3.620759812883049*^9}, {3.6207598647100487`*^9, 
   3.6207598942230487`*^9}, 3.620760097293049*^9, {3.620760546303049*^9, 
   3.620760553430049*^9}, {3.620760915553049*^9, 3.620760919983049*^9}, 
   3.620761164076049*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["calculate the manipulator inertia matrix", "Subsubsection",
 CellChangeTimes->{
  3.504392305735899*^9, 3.513012096077317*^9, {3.516708802974715*^9, 
   3.5167088033737383`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"\[ScriptCapitalD]e", "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{
      UnderoverscriptBox["\[Sum]", 
       RowBox[{"i", "=", "1"}], 
       RowBox[{"Length", "[", "mm", "]"}]], 
      RowBox[{
       RowBox[{
        SubscriptBox["\[ScriptCapitalJ]e", "i"], "\[Transpose]"}], ".", 
       SubscriptBox["\[ScriptCapitalM]", "i"], ".", 
       SubscriptBox["\[ScriptCapitalJ]e", "i"]}]}], "+", 
     RowBox[{"DiagonalMatrix", "[", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", 
        SubscriptBox["Mt", "1"], ",", 
        SubscriptBox["Mt", "2"], ",", 
        SubscriptBox["Mt", "3"], ",", 
        SubscriptBox["Mt", "4"], ",", 
        SubscriptBox["Mt", "6"], ",", 
        SubscriptBox["Mt", "7"], ",", 
        SubscriptBox["Mt", "8"]}], "}"}], "]"}]}], "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.5167096143551235`*^9, 3.516709632103139*^9}, 
   3.541811482606219*^9, {3.5427304345236034`*^9, 3.542730437924409*^9}, {
   3.5429004219776535`*^9, 3.5429004251444592`*^9}, {3.5431048322143197`*^9, 
   3.543104834414446*^9}, {3.5472277974041142`*^9, 3.5472277979491453`*^9}, {
   3.5472279040282125`*^9, 3.547227933050873*^9}, {3.5472283715309525`*^9, 
   3.5472283773762865`*^9}, {3.619028482812746*^9, 3.619028482812746*^9}, {
   3.620230562791442*^9, 3.6202305631034727`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{
    RowBox[{"\[ScriptCapitalD]e", "/.", "test"}], "/.", "p0"}], "//", "N"}], 
  ";"}]], "Input",
 CellChangeTimes->{{3.5432683063002625`*^9, 3.5432683083963823`*^9}, {
   3.5432684711006885`*^9, 3.5432684725407705`*^9}, {3.54454531225385*^9, 
   3.5445453155650396`*^9}, {3.5446296048661118`*^9, 3.544629605762163*^9}, 
   3.6207610144790487`*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"\[ScriptCapitalD]", "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"\[ScriptCapitalD]e", "\[LeftDoubleBracket]", 
      RowBox[{
       RowBox[{"4", ";;", "All"}], ",", 
       RowBox[{"4", ";;", "All"}]}], "\[RightDoubleBracket]"}], "/.", 
     "\[InvisibleSpace]", "p0"}], "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.513012422937284*^9, 3.513012423523879*^9}, {
   3.513012453927046*^9, 3.513012465021281*^9}, {3.513012554051636*^9, 
   3.513012587164631*^9}, {3.51353194017507*^9, 3.513531940256729*^9}, 
   3.515858726761649*^9, {3.515859543127342*^9, 3.5158595437243767`*^9}, 
   3.5158680079901824`*^9, 3.5417801424043016`*^9, 3.541811484405322*^9, 
   3.54187175917236*^9, 3.541872003039589*^9, {3.542728967000225*^9, 
   3.5427289712746325`*^9}, {3.542987412594327*^9, 3.542987414593441*^9}, 
   3.542987449728451*^9, 3.5430103409065037`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["calculate Coriolis matrix", "Subsubsection",
 CellChangeTimes->{{3.504392477990152*^9, 3.504392495055983*^9}, 
   3.513012592090603*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"\[ScriptCapitalC]e", "=", 
  RowBox[{"ParallelSimplify", "[", 
   RowBox[{"InertiaToCoriolis", "[", 
    RowBox[{"\[ScriptCapitalD]e", ",", 
     RowBox[{"Flatten", "[", "qe", "]"}], ",", 
     RowBox[{"Flatten", "[", "dqe", "]"}]}], "]"}], "]"}]}]], "Input",
 CellChangeTimes->{
  3.50439255557097*^9, {3.51295513827149*^9, 3.512955172679001*^9}, {
   3.5129552037364693`*^9, 3.512955231006535*^9}, {3.512955263739307*^9, 
   3.5129553328924294`*^9}, {3.512992901952466*^9, 3.512992920307856*^9}, {
   3.5129940359160023`*^9, 3.512994058469393*^9}, 3.5129940928271093`*^9, {
   3.512994138765036*^9, 3.5129941583899803`*^9}, {3.51301260617554*^9, 
   3.513012607311402*^9}, {3.513012641937742*^9, 3.513012652342953*^9}, {
   3.513012738154763*^9, 3.513012748062248*^9}, 3.513012780026892*^9, {
   3.51301313424288*^9, 3.513013136853251*^9}, 3.541811486093418*^9, 
   3.5427300155608673`*^9, {3.5427304454904222`*^9, 3.5427304492656293`*^9}, {
   3.6202305713182945`*^9, 3.6202305738065434`*^9}, {3.6202321810472507`*^9, 
   3.6202321871998663`*^9}, {3.6202323095010953`*^9, 3.620232310771222*^9}, 
   3.620258729219816*^9, {3.6207617499460487`*^9, 3.620761755064049*^9}}],

Cell[BoxData[
 InterpretationBox[
  TagBox[
   FrameBox[GridBox[{
      {
       ItemBox[
        TagBox[
         RowBox[{"{", 
          RowBox[{
           RowBox[{"{", 
            TemplateBox[{"1"},
             "OutputSizeLimit`Skeleton",
             DisplayFunction->(FrameBox[
               
               RowBox[{
                "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
               Background -> GrayLevel[0.75], 
               BaseStyle -> {
                "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                 ShowStringCharacters -> False}, BaselinePosition -> Baseline,
                ContentPadding -> False, FrameMargins -> 1, FrameStyle -> 
               GrayLevel[0.75], RoundingRadius -> 7]& )], "}"}], ",", 
           TemplateBox[{"7"},
            "OutputSizeLimit`Skeleton",
            DisplayFunction->(FrameBox[
              RowBox[{"\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}],
               Background -> GrayLevel[0.75], 
              BaseStyle -> {
               "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                ShowStringCharacters -> False}, BaselinePosition -> Baseline, 
              ContentPadding -> False, FrameMargins -> 1, FrameStyle -> 
              GrayLevel[0.75], RoundingRadius -> 7]& )], ",", 
           RowBox[{"{", 
            RowBox[{
             TemplateBox[{"1"},
              "OutputSizeLimit`Skeleton",
              DisplayFunction->(FrameBox[
                
                RowBox[{
                 "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                Background -> GrayLevel[0.75], 
                BaseStyle -> {
                 "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                  ShowStringCharacters -> False}, BaselinePosition -> 
                Baseline, ContentPadding -> False, FrameMargins -> 1, 
                FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )], ",", 
             
             TemplateBox[{"7"},
              "OutputSizeLimit`Skeleton",
              DisplayFunction->(FrameBox[
                
                RowBox[{
                 "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                Background -> GrayLevel[0.75], 
                BaseStyle -> {
                 "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                  ShowStringCharacters -> False}, BaselinePosition -> 
                Baseline, ContentPadding -> False, FrameMargins -> 1, 
                FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )], ",", 
             
             RowBox[{
              RowBox[{
               FractionBox["1", "2"], " ", 
               RowBox[{"(", 
                RowBox[{
                 FractionBox[
                  TemplateBox[{"1"},
                   "OutputSizeLimit`Skeleton",
                   DisplayFunction->(FrameBox[
                    
                    RowBox[{
                    "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                    Background -> GrayLevel[0.75], 
                    BaseStyle -> {
                    "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                    ShowStringCharacters -> False}, BaselinePosition -> 
                    Baseline, ContentPadding -> False, FrameMargins -> 1, 
                    FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )], 
                  "8483000000000000"], "+", 
                 FractionBox[
                  TemplateBox[{"1"},
                   "OutputSizeLimit`Skeleton",
                   DisplayFunction->(FrameBox[
                    
                    RowBox[{
                    "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                    Background -> GrayLevel[0.75], 
                    BaseStyle -> {
                    "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                    ShowStringCharacters -> False}, BaselinePosition -> 
                    Baseline, ContentPadding -> False, FrameMargins -> 1, 
                    FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )], 
                  "8483000000000000"]}], ")"}], " ", 
               RowBox[{
                SuperscriptBox[
                 SubscriptBox["\[Theta]", "4"], "\[Prime]",
                 MultilineFunction->None], "[", "t", "]"}]}], "+", 
              RowBox[{
               FractionBox["1", "2"], " ", 
               RowBox[{"(", 
                RowBox[{
                 FractionBox[
                  TemplateBox[{"1"},
                   "OutputSizeLimit`Skeleton",
                   DisplayFunction->(FrameBox[
                    RowBox[{
                    "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                    Background -> GrayLevel[0.75], 
                    BaseStyle -> {
                    "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                    ShowStringCharacters -> False}, BaselinePosition -> 
                    Baseline, ContentPadding -> False, FrameMargins -> 1, 
                    FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )], 
                  RowBox[{"8", 
                   TemplateBox[{"13"},
                    "OutputSizeLimit`Skeleton",
                    DisplayFunction->(FrameBox[
                    
                    RowBox[{
                    "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                    Background -> GrayLevel[0.75], 
                    BaseStyle -> {
                    "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                    ShowStringCharacters -> False}, BaselinePosition -> 
                    Baseline, ContentPadding -> False, FrameMargins -> 1, 
                    FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )], 
                   "00"}]], "+", 
                 TemplateBox[{"1"},
                  "OutputSizeLimit`Skeleton",
                  DisplayFunction->(FrameBox[
                    
                    RowBox[{
                    "\" \[CenterEllipsis]\"", #, "\"\[CenterEllipsis] \""}], 
                    Background -> GrayLevel[0.75], 
                    BaseStyle -> {
                    "Deploy", FontColor -> GrayLevel[1], FontSize -> Smaller, 
                    ShowStringCharacters -> False}, BaselinePosition -> 
                    Baseline, ContentPadding -> False, FrameMargins -> 1, 
                    FrameStyle -> GrayLevel[0.75], RoundingRadius -> 7]& )]}],
                 ")"}], " ", 
               RowBox[{
                SuperscriptBox[
                 SubscriptBox["\[Theta]", "5"], "\[Prime]",
                 MultilineFunction->None], "[", "t", "]"}]}]}]}], "}"}]}], 
          "}"}],
         Short[#, 5]& ],
        BaseStyle->{Deployed -> False},
        StripOnInput->False]},
      {GridBox[{
         {
          TagBox[
           TooltipBox[
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource[
                "FEStrings", "sizeBriefExplanation"], StandardForm],
               ImageSizeCache->{95., {4., 13.}}],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarCategory",
             StripOnInput->False],
            StyleBox[
             DynamicBox[
              ToBoxes[
               FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"], 
               StandardForm]], DynamicUpdating -> True, StripOnInput -> 
             False]],
           Annotation[#, 
            Style[
             Dynamic[
              FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"]], 
             DynamicUpdating -> True], "Tooltip"]& ], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"], 
                StandardForm],
               ImageSizeCache->{74., {1., 13.}}],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"], 
                StandardForm],
               ImageSizeCache->{74., {1., 13.}}],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           
           ButtonFunction:>OutputSizeLimit`ButtonFunction[
            Identity, 1064, 25039680391315442767, 5/2],
           Enabled->True,
           Evaluator->Automatic,
           Method->"Queued"], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"], 
                StandardForm],
               ImageSizeCache->{88., {1., 13.}}],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           
           ButtonFunction:>OutputSizeLimit`ButtonFunction[
            Identity, 1064, 25039680391315442767, 5 2],
           Enabled->True,
           Evaluator->Automatic,
           Method->"Queued"], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"], 
                StandardForm],
               ImageSizeCache->{65., {1., 13.}}],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           ButtonFunction:>OutputSizeLimit`ButtonFunction[
            Identity, 1064, 25039680391315442767, Infinity],
           Enabled->True,
           Evaluator->Automatic,
           Method->"Queued"], 
          ButtonBox[
           PaneSelectorBox[{False->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"], 
                StandardForm],
               ImageSizeCache->{115., {1., 13.}}],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControl",
             StripOnInput->False], True->
            StyleBox[
             StyleBox[
              DynamicBox[ToBoxes[
                FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"], 
                StandardForm]],
              StripOnInput->False,
              DynamicUpdating->True], "SuggestionsBarControlActive",
             StripOnInput->False]}, Dynamic[
             CurrentValue["MouseOver"]],
            Alignment->Center,
            FrameMargins->0,
            ImageSize->{Automatic, 25}],
           Appearance->None,
           ButtonFunction:>FrontEndExecute[{
              FrontEnd`SetOptions[
              FrontEnd`$FrontEnd, 
               FrontEnd`PreferencesSettings -> {"Page" -> "Evaluation"}], 
              FrontEnd`FrontEndToken["PreferencesDialog"]}],
           Evaluator->None,
           Method->"Preemptive"]}
        },
        AutoDelete->False,
        FrameStyle->GrayLevel[0.85],
        GridBoxDividers->{"Columns" -> {False, {True}}},
        GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}},
        GridBoxSpacings->{"Columns" -> {{2}}}]}
     },
     DefaultBaseStyle->"Column",
     GridBoxAlignment->{
      "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, 
       "RowsIndexed" -> {}},
     GridBoxDividers->{
      "Columns" -> {{False}}, "ColumnsIndexed" -> {}, "Rows" -> {{False}}, 
       "RowsIndexed" -> {}},
     GridBoxItemSize->{
      "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, 
       "RowsIndexed" -> {}},
     GridBoxSpacings->{"Columns" -> {
         Offset[0.27999999999999997`], {
          Offset[0.5599999999999999]}, 
         Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
         Offset[0.2], 
         Offset[1.2], {
          Offset[0.4]}, 
         Offset[0.2]}, "RowsIndexed" -> {}}],
    Background->RGBColor[0.9657, 0.9753, 0.9802],
    FrameMargins->{{12, 12}, {0, 15}},
    FrameStyle->GrayLevel[0.85],
    RoundingRadius->5,
    StripOnInput->False],
   Deploy,
   DefaultBaseStyle->"Deploy"],
  Out[1064]]], "Output",
 CellChangeTimes->{3.6202587304788165`*^9, 3.6202589448338165`*^9, 
  3.6202590643948164`*^9, 3.6202592348868165`*^9, 3.6202600981178164`*^9, 
  3.620260358995816*^9, 3.6202611681028166`*^9, 3.6202614073298163`*^9, 
  3.6202621962588167`*^9, 3.62030206803724*^9, 3.6203026065410852`*^9, 
  3.6203028708455133`*^9, 3.6203033224226665`*^9, 3.62030352707613*^9, 
  3.6203037855549746`*^9, 3.6203040204394608`*^9, 3.6203047107644863`*^9, 
  3.6203052752789326`*^9, 3.6203062021626115`*^9, 3.620306436752068*^9, 
  3.62030775200358*^9, 3.620308022539631*^9, 3.620308097716148*^9, 
  3.6203081924736223`*^9, 3.6203088119985685`*^9, 3.620317904670745*^9, 
  3.6203184161528883`*^9, 3.6203192628385487`*^9, 3.620736080780049*^9, 
  3.620749813483049*^9, 3.6207595172590485`*^9, 3.6207611684880486`*^9}]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"\[ScriptCapitalC]", "=", 
   RowBox[{
    RowBox[{"\[ScriptCapitalC]e", "\[LeftDoubleBracket]", 
     RowBox[{
      RowBox[{"4", ";;", "All"}], ",", 
      RowBox[{"4", ";;", "All"}]}], "\[RightDoubleBracket]"}], "/.", 
    "\[InvisibleSpace]", "p0"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.5427304545696383`*^9, 3.5427304822596874`*^9}, 
   3.5427345740606112`*^9, {3.5427346218981485`*^9, 3.542734648186597*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["calculate the potential energy and \[ScriptCapitalG] matrix", \
"Subsubsection",
 CellChangeTimes->{
  3.50439250607954*^9, {3.512994059885461*^9, 3.512994061579727*^9}, {
   3.513013138038511*^9, 3.513013138090329*^9}, 3.51301482840405*^9}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{"V", "=", 
   RowBox[{
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"g", " ", 
      RowBox[{
       UnderoverscriptBox["\[Sum]", 
        RowBox[{"i", "=", "1"}], 
        RowBox[{"Length", "[", "mm", "]"}]], 
       RowBox[{
        RowBox[{"mm", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}], 
        " ", 
        RowBox[{
         RowBox[{
          SubscriptBox["ge", 
           SubscriptBox["sl", "i"]], "[", "\[Theta]", "]"}], 
         "\[LeftDoubleBracket]", 
         RowBox[{"3", ",", "4"}], "\[RightDoubleBracket]"}]}]}]}], "]"}], "/.",
     "\[InvisibleSpace]", "constsubs"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{"\[ScriptCapitalG]e", "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     SubscriptBox["\[PartialD]", 
      RowBox[{"{", 
       RowBox[{"qe", ",", "1"}], "}"}]], "V"}], "]"}]}], ";", 
  RowBox[{
   RowBox[{"Needs", "[", "\"\<Units`\>\"", "]"}], 
   "q"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"\[ScriptCapitalG]", "  ", "=", " ", 
   RowBox[{
    RowBox[{"\[ScriptCapitalG]e", "\[LeftDoubleBracket]", 
     RowBox[{"4", ";;", "All"}], "\[RightDoubleBracket]"}], "/.", 
    "\[InvisibleSpace]", "p0"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.504392530579445*^9, 3.504392568536552*^9}, {
   3.5052280833869843`*^9, 3.5052280856333885`*^9}, {3.5125114305562534`*^9, 
   3.512511430665453*^9}, {3.512994063656911*^9, 3.512994082683117*^9}, {
   3.513013142091812*^9, 3.513013228804931*^9}, {3.5158498432526364`*^9, 
   3.5158498449907355`*^9}, {3.5418114872784863`*^9, 
   3.5418114888695774`*^9}, {3.542730572661846*^9, 3.5427305803526597`*^9}, {
   3.5427309211020584`*^9, 3.542730929463673*^9}, {3.5427309623953314`*^9, 
   3.542730994718588*^9}, {3.542734955523368*^9, 3.5427349851129665`*^9}, 
   3.5427350172735047`*^9, {3.5429873023910236`*^9, 3.5429873073023043`*^9}, {
   3.5429873634135137`*^9, 3.5429874025947547`*^9}, {3.5431048649021893`*^9, 
   3.5431049044114494`*^9}, {3.5431049615367165`*^9, 3.54310502348626*^9}, 
   3.543105337737234*^9, {3.5431054027339516`*^9, 3.5431054043180428`*^9}, {
   3.543105460843275*^9, 3.5431054637794433`*^9}, {3.5431056787297373`*^9, 
   3.543105745399551*^9}, {3.5431058015327616`*^9, 3.543105816435614*^9}, {
   3.5472319369828844`*^9, 3.547231937453912*^9}, {3.6202305797201347`*^9, 
   3.6202305938635483`*^9}, {3.620230964148573*^9, 3.620230973436502*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"Null", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"Null", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"Null", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"Null", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"Null", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"Null", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}]}], 
  "}"}]], "Output",
 CellChangeTimes->CompressedData["
1:eJwdzl1Ik3EUBvB9BJVuJiXTGdS7VU5XaYbVhSS9a7WSalBSsYsRM8HAtWFp
X7ZchERELaFFr69tpZRFiEbEYoMkRmFRzRaFVIoThvsX4cdqNG11ni4OP87F
c86jsTn21kklEslOmoLXb/6+tTP+uMGiiZJern0ctqlSD5JkyNpv1B5lfOR+
ygXfJ9J+eMOc7NhN/qn0xT+Qa54OqWbIZl1tOs/B+C8Ge+H8ZsYrBrv7V55k
/LT+x8dV5GV5+OoZMpQ/Zu0lI3mHjqw4R//iyxbryFROMAnX/+TsRjIu21ax
vJXxcvfFic+9jBczMWNHkPGjV75VN4UZLziFh1m/Ge/cdS8Bb3vVM3DSHL6e
TVYHQg1KsqpTbIHxqE6bg3116zvoyYwMw9MtB7hF5MvZGiOMlURuQpfL/BVm
6ovr80lbd60AG+d6lAXk2ejBClguOvbBT5uKPXDYttQHh540PoayZxZOTc5t
ntoCA49y78J5TBpW/8/5iwrRa4dway15OHt8DPb1fZeVkiMXrJWwVDtZAxcO
bm+CRW5fO8w6xibgeeepsjJyj35/F/SLPQNwYDq3bh2p74y1wa1TJg9cYuJE
qJBfS0DDiRLLBtxxqQRo8ibkG8lfz8svSdPUO/CiagF5ZzQ4qyAb3JpXSvIf
Tys6Ew==
  "]]
}, Open  ]],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"V", "=", 
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{
      RowBox[{"g", " ", 
       RowBox[{
        UnderoverscriptBox["\[Sum]", 
         RowBox[{"i", "=", "1"}], 
         RowBox[{"Length", "[", "mm", "]"}]], 
        RowBox[{
         RowBox[{"mm", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}],
          " ", 
         RowBox[{
          RowBox[{
           SubscriptBox["g", "i"], "[", "\[Theta]", "]"}], 
          "\[LeftDoubleBracket]", 
          RowBox[{"3", ",", "4"}], "\[RightDoubleBracket]"}]}]}]}], "/.", 
      "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";", "\[IndentingNewLine]", 
   RowBox[{"\[ScriptCapitalG]e", "=", 
    RowBox[{
     RowBox[{
      RowBox[{
       RowBox[{"ParallelSimplify", "[", 
        RowBox[{
         SubscriptBox["\[PartialD]", 
          RowBox[{"{", 
           RowBox[{"qe", ",", "1"}], "}"}]], "V"}], "]"}], "/.", 
       "\[InvisibleSpace]", "p0"}], "/.", 
      RowBox[{"testval", "\[IndentingNewLine]", "\[ScriptCapitalG]"}]}], "  ",
      "=", " ", 
     RowBox[{
      RowBox[{"\[ScriptCapitalG]e", "\[LeftDoubleBracket]", 
       RowBox[{"4", ";;", "All"}], "\[RightDoubleBracket]"}], "/.", 
      "\[InvisibleSpace]", "p0"}]}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5431050075343475`*^9, 3.5431050349019127`*^9}, {
  3.5431057144167786`*^9, 3.543105756597192*^9}, {3.5431058200448203`*^9, 
  3.54310582265797*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Calc. J for lagrange multipliers", "Subsubsection",
 CellChangeTimes->{{3.537573191239087*^9, 3.537573202565735*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"CrossProd", "[", "\[CapitalOmega]_", "]"}], ":=", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"\[CapitalOmega]", "\[LeftDoubleBracket]", 
      RowBox[{"3", ",", "2"}], "\[RightDoubleBracket]"}], ",", 
     RowBox[{"\[CapitalOmega]", "\[LeftDoubleBracket]", 
      RowBox[{"1", ",", "3"}], "\[RightDoubleBracket]"}], ",", 
     RowBox[{"\[CapitalOmega]", "\[LeftDoubleBracket]", 
      RowBox[{"2", ",", "1"}], "\[RightDoubleBracket]"}]}], "}"}]}], 
  ";"}]], "Input",
 CellChangeTimes->{{3.619032958298746*^9, 3.619032959467746*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    SubscriptBox["p", "ht"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{"RigidPosition", "[", 
       RowBox[{
        SubscriptBox["g", "ht"], "[", "\[Theta]", "]"}], "]"}], 
      "\[LeftDoubleBracket]", 
      RowBox[{"{", 
       RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
     "ParallelSimplify"}]}], ";", "\n", 
   RowBox[{
    SubscriptBox["p", "hh"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{"RigidPosition", "[", 
       RowBox[{
        SubscriptBox["g", "hh"], "[", "\[Theta]", "]"}], "]"}], 
      "\[LeftDoubleBracket]", 
      RowBox[{"{", 
       RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
     "ParallelSimplify"}]}], ";", "\n", 
   RowBox[{
    SubscriptBox["p", "pt"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{"RigidPosition", "[", 
       RowBox[{
        SubscriptBox["g", "pt"], "[", "\[Theta]", "]"}], "]"}], 
      "\[LeftDoubleBracket]", 
      RowBox[{"{", 
       RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
     "ParallelSimplify"}]}], ";", "\n", 
   RowBox[{
    SubscriptBox["p", "ph"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{"RigidPosition", "[", 
       RowBox[{
        SubscriptBox["g", "ph"], "[", "\[Theta]", "]"}], "]"}], 
      "\[LeftDoubleBracket]", 
      RowBox[{"{", 
       RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
     "ParallelSimplify"}]}], ";"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5375588753168807`*^9, 3.5375588899817195`*^9}, {
   3.537573174740144*^9, 3.5375731773452926`*^9}, {3.5375732102091722`*^9, 
   3.5375732118012633`*^9}, {3.537573261374099*^9, 3.5375733077747526`*^9}, 
   3.5375733449958816`*^9, {3.5375736518074303`*^9, 3.537573658655822*^9}, {
   3.5375737216524253`*^9, 3.5375737568484383`*^9}, {3.5375739551217785`*^9, 
   3.537574147565786*^9}, {3.537574299322466*^9, 3.5375744607246976`*^9}, {
   3.538267055442854*^9, 3.5382670620572653`*^9}, 3.538318067030096*^9, 
   3.5383184570015817`*^9, {3.5387338682614355`*^9, 3.5387338777349777`*^9}, {
   3.5387483814685435`*^9, 3.538748383657669*^9}, {3.539113656699425*^9, 
   3.539113673578655*^9}, {3.542548555091257*^9, 3.5425485554432774`*^9}, 
   3.542549112563143*^9, 3.54254918017801*^9, {3.542549215462028*^9, 
   3.5425492390133753`*^9}, 3.5425493198900013`*^9, {3.5425686137514715`*^9, 
   3.5425686278434916`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", "st"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "st"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["ge", "nst"], "[", "\[Theta]", "]"}], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{"ForwardKinematics", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "px"], ",", 
         RowBox[{
          SubscriptBox["p", "x"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "pz"], ",", 
         RowBox[{
          SubscriptBox["p", "z"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q0"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q1"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q2"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q3"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q4"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q5"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Xi]", "q6"], ",", 
         RowBox[{
          SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "}"}], ",", 
       RowBox[{
        SubscriptBox["g", "nst"], "[", "0", "]"}]}], "]"}], "/.", 
     "constsubs"}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.5427319532782717`*^9, 3.542731958660281*^9}, {
  3.5429004410720873`*^9, 3.5429004435212917`*^9}, {3.5429004752049475`*^9, 
  3.542900496327384*^9}, {3.543079293047636*^9, 3.5430793479810133`*^9}, {
  3.54308018515134*^9, 3.5430802725384417`*^9}, {3.543105919601515*^9, 
  3.5431059304651365`*^9}, {3.547228738592947*^9, 3.547228743377221*^9}, {
  3.5472287818334208`*^9, 3.5472288160323763`*^9}, {3.6203177642787075`*^9, 
  3.620317776046884*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   SubscriptBox["pe", "st"], "=", 
   RowBox[{
    RowBox[{
     RowBox[{"RigidPosition", "[", 
      RowBox[{
       SubscriptBox["ge", "st"], "[", "\[Theta]", "]"}], "]"}], 
     "\[LeftDoubleBracket]", 
     RowBox[{"{", 
      RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
    "ParallelSimplify"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["Re", "st"], "=", 
   RowBox[{"RigidOrientation", "[", 
    RowBox[{
     SubscriptBox["ge", "st"], "[", "\[Theta]", "]"}], "]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Omega]e", "st"], "=", 
   RowBox[{
    RowBox[{"CrossProd", "[", 
     RowBox[{"Simplify", "[", 
      RowBox[{
       RowBox[{"Inverse", "[", 
        SubscriptBox["Re", "st"], "]"}], ".", 
       RowBox[{
        SubscriptBox["\[PartialD]", "t"], 
        SubscriptBox["Re", "st"]}]}], "]"}], "]"}], "\[LeftDoubleBracket]", 
    "2", "\[RightDoubleBracket]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.542568633083499*^9, 3.542568658775535*^9}, {
  3.542731802509207*^9, 3.542731810574421*^9}, {3.542732615062634*^9, 
  3.542732623159048*^9}, {3.5429004463448963`*^9, 3.5429004657981305`*^9}, {
  3.5429005055002003`*^9, 3.54290052262903*^9}, {3.542986592086396*^9, 
  3.542986603310038*^9}, {3.5429874615041237`*^9, 3.5429874656003585`*^9}, {
  3.5430793134900723`*^9, 3.543079364181055*^9}, {3.543105934974394*^9, 
  3.5431059501732635`*^9}, {3.547228704799014*^9, 3.5472287316215487`*^9}, {
  3.547228868229362*^9, 3.5472288860523815`*^9}, {3.6203177800792875`*^9, 
  3.6203177938636656`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   SubscriptBox["pe", "nst"], "=", 
   RowBox[{
    RowBox[{
     RowBox[{"RigidPosition", "[", 
      RowBox[{
       SubscriptBox["ge", "nst"], "[", "\[Theta]", "]"}], "]"}], 
     "\[LeftDoubleBracket]", 
     RowBox[{"{", 
      RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
    "ParallelSimplify"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["Re", "nst"], "=", 
   RowBox[{
    RowBox[{"RigidOrientation", "[", 
     RowBox[{
      SubscriptBox["ge", "nst"], "[", "\[Theta]", "]"}], "]"}], "//", 
    "ParallelSimplify"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["\[Omega]e", "nst"], "=", 
   RowBox[{
    RowBox[{"CrossProd", "[", 
     RowBox[{"Simplify", "[", 
      RowBox[{
       RowBox[{"Inverse", "[", 
        SubscriptBox["Re", "nst"], "]"}], ".", 
       RowBox[{
        SubscriptBox["\[PartialD]", "t"], 
        SubscriptBox["Re", "nst"]}]}], "]"}], "]"}], "\[LeftDoubleBracket]", 
    "2", "\[RightDoubleBracket]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.542568633083499*^9, 3.542568658775535*^9}, {
  3.542731802509207*^9, 3.542731810574421*^9}, {3.542732615062634*^9, 
  3.542732623159048*^9}, {3.5429004463448963`*^9, 3.5429004657981305`*^9}, {
  3.5429005055002003`*^9, 3.54290052262903*^9}, {3.542986592086396*^9, 
  3.542986603310038*^9}, {3.5429874615041237`*^9, 3.5429874656003585`*^9}, {
  3.5430793134900723`*^9, 3.543079321124758*^9}, {3.543079458965248*^9, 
  3.543079472168316*^9}, {3.54310595534956*^9, 3.543105969277356*^9}, {
  3.547228890901659*^9, 3.547228908964692*^9}, {3.6203177977110505`*^9, 
  3.620317808560135*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   SubscriptBox["J", "d"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"Insert", "[", 
     RowBox[{
      RowBox[{"Join", "[", 
       RowBox[{
        RowBox[{
         SubscriptBox["\[PartialD]", 
          RowBox[{"{", 
           RowBox[{
            RowBox[{"Flatten", "[", "qe", "]"}], ",", "1"}], "}"}]], 
         RowBox[{"Join", "[", 
          RowBox[{
           SubscriptBox["p", "ht"], ",", 
           SubscriptBox["p", "pt"]}], "]"}]}], ",", 
        RowBox[{
         SubscriptBox["J", "\[Omega]"], "\[LeftDoubleBracket]", 
         RowBox[{
          RowBox[{"2", ";;", "2"}], ",", 
          RowBox[{"1", ";;", "All"}]}], "\[RightDoubleBracket]"}]}], "]"}], 
      ",", 
      RowBox[{
       SubscriptBox["J", "\[Omega]"], "\[LeftDoubleBracket]", 
       RowBox[{"1", ",", 
        RowBox[{"1", ";;", "All"}]}], "\[RightDoubleBracket]"}], ",", "3"}], 
     "]"}], "]"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5376210599855905`*^9, 3.537621163202494*^9}, {
   3.537621421677278*^9, 3.53762142782863*^9}, 3.5376215357318015`*^9, {
   3.5376266073888836`*^9, 3.5376266093399954`*^9}, {3.5378190300160933`*^9, 
   3.537819035352399*^9}, {3.5380785353379326`*^9, 3.5380785563811364`*^9}, {
   3.538078708866858*^9, 3.538078712201049*^9}, 3.538080110757042*^9, {
   3.5381411039395285`*^9, 3.5381411079175353`*^9}, {3.538141411152473*^9, 
   3.538141415582881*^9}, 3.538142643492941*^9, {3.538318168447875*^9, 
   3.5383182355435925`*^9}, {3.538318271985256*^9, 3.538318292639693*^9}, {
   3.538318327614954*^9, 3.5383183641346183`*^9}, {3.5383184054122906`*^9, 
   3.538318419218315*^9}, {3.5383187022624125`*^9, 3.538318702465213*^9}, {
   3.538318748376094*^9, 3.5383188020713882`*^9}, {3.5386883195016823`*^9, 
   3.5386883222518396`*^9}, {3.5387339084417334`*^9, 3.538733915846157*^9}, {
   3.538748387294877*^9, 3.538748388771961*^9}, {3.5387630066550565`*^9, 
   3.5387630194987907`*^9}, {3.538820547512205*^9, 3.538820547685215*^9}, 
   3.5402484934353333`*^9, 3.5418121129862747`*^9, 3.5418127230231667`*^9, {
   3.5418740947783813`*^9, 3.5418741478496747`*^9}, {3.5418742451626453`*^9, 
   3.5418742468318486`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  SubscriptBox["J", "\[Omega]"], "=", 
  RowBox[{
   SubscriptBox["\[PartialD]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"Flatten", "[", "dqe", "]"}], ",", "1"}], "}"}]], 
   RowBox[{"{", 
    RowBox[{
     SubscriptBox["\[Omega]e", "st"], ",", 
     SubscriptBox["\[Omega]e", "nst"]}], "}"}]}]}]], "Input",
 CellChangeTimes->{{3.5430794850716047`*^9, 3.543079487427209*^9}, 
   3.5430795431564555`*^9, 3.5430796212727423`*^9, 3.5430802262122746`*^9, {
   3.5431062193136573`*^9, 3.5431062370316706`*^9}, {3.5472289176681895`*^9, 
   3.5472289206673613`*^9}, {3.6203178135366325`*^9, 3.6203178151037893`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", 
     RowBox[{"-", "1"}], ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", 
     RowBox[{"-", "1"}], ",", 
     RowBox[{"-", "1"}], ",", 
     RowBox[{"-", "1"}], ",", 
     RowBox[{"-", "1"}], ",", "1", ",", "1", ",", "1"}], "}"}]}], 
  "}"}]], "Output",
 CellChangeTimes->{{3.543080226621298*^9, 3.543080251708088*^9}, {
   3.543080295706376*^9, 3.5430803081098166`*^9}, 3.5431042401784573`*^9, 
   3.5431059789019065`*^9, {3.543106224802971*^9, 3.5431062521655364`*^9}, 
   3.543319479598028*^9, 3.543319979598627*^9, 3.543363879178399*^9, 
   3.543861905079629*^9, 3.544712504775618*^9, 3.5452658880706873`*^9, 
   3.5452666755521564`*^9, 3.545769057218392*^9, 3.547221442285622*^9, 
   3.547228098639344*^9, 3.547228514358122*^9, 3.547229425252222*^9, 
   3.547229881802335*^9, 3.547229981001009*^9, {3.547230823062172*^9, 
   3.5472308389110785`*^9}, 3.5472322553820963`*^9, 3.547240716371662*^9, 
   3.547242272667637*^9, 3.547309400579549*^9, 3.5474027905518723`*^9, 
   3.5474032558994884`*^9, 3.5474035280310535`*^9, 3.5474915524667635`*^9, 
   3.5477686302171435`*^9, 3.547830455382901*^9, 3.5478998598946123`*^9, 
   3.5515414602100124`*^9, 3.5526506379515877`*^9, 3.5526529836097517`*^9, 
   3.552828542932479*^9, 3.552932599835193*^9, 3.5563180286526346`*^9, 
   3.556325522254714*^9, 3.5563273340875907`*^9, 3.556385642334968*^9, 
   3.556833699473371*^9, 3.58133741264477*^9, 3.5880207754456005`*^9, 
   3.5926615922212396`*^9, 3.620230501457309*^9, 3.6202309900321617`*^9, 
   3.620231066040762*^9, 3.6202323674318876`*^9, 3.6202361349686036`*^9, 
   3.6202362619683027`*^9, 3.6202375863227243`*^9, 3.620238972638342*^9, 
   3.620239056281706*^9, 3.620239619749047*^9, 3.6202399076258316`*^9, 
   3.62024059177524*^9, 3.620241131748657*^9, 3.6202565785148163`*^9, 
   3.620256980469816*^9, 3.6202579020528164`*^9, 3.6202582121718163`*^9, 
   3.6202584602448163`*^9, 3.6202589455268164`*^9, 3.6202590651438165`*^9, 
   3.6202592369418163`*^9, 3.6202601001978164`*^9, 3.6202603602868166`*^9, 
   3.6202611693088164`*^9, 3.620261409502816*^9, 3.6202621983248167`*^9, 
   3.620302070373474*^9, 3.6203026078752184`*^9, 3.620302872175646*^9, 
   3.620303323673791*^9, 3.6203035282102427`*^9, 3.6203037875021696`*^9, 
   3.6203040217265897`*^9, 3.6203047120246124`*^9, 3.620305276136018*^9, 
   3.6203062030106964`*^9, 3.620306437592152*^9, 3.620307752842664*^9, 
   3.620308023408718*^9, 3.6203080985512314`*^9, 3.620308193319707*^9, 
   3.620308812841653*^9, 3.6203179070829864`*^9, 3.6203184177640495`*^9, 
   3.620319264213686*^9, 3.620736083310049*^9, 3.620749816004049*^9, 
   3.620759518925049*^9, 3.620761170031049*^9}]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["J", "d"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"Insert", "[", 
     RowBox[{
      RowBox[{"Join", "[", 
       RowBox[{
        RowBox[{
         SubscriptBox["\[PartialD]", 
          RowBox[{"{", 
           RowBox[{
            RowBox[{"Flatten", "[", "qe", "]"}], ",", "1"}], "}"}]], 
         RowBox[{"Join", "[", 
          RowBox[{
           SubscriptBox["pe", "st"], ",", 
           SubscriptBox["pe", "nst"]}], "]"}]}], ",", 
        RowBox[{
         SubscriptBox["J", "\[Omega]"], "\[LeftDoubleBracket]", 
         RowBox[{
          RowBox[{"2", ";;", "2"}], ",", 
          RowBox[{"1", ";;", "All"}]}], "\[RightDoubleBracket]"}]}], "]"}], 
      ",", 
      RowBox[{
       SubscriptBox["J", "\[Omega]"], "\[LeftDoubleBracket]", 
       RowBox[{"1", ",", 
        RowBox[{"1", ";;", "All"}]}], "\[RightDoubleBracket]"}], ",", "3"}], 
     "]"}], "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.541874182918536*^9, 3.5418741891585474`*^9}, 
   3.542472550964918*^9, {3.542569192577998*^9, 3.542569195396159*^9}, {
   3.542732627480256*^9, 3.5427326463874893`*^9}, {3.5429005266538377`*^9, 
   3.5429005299922433`*^9}, {3.543079519334591*^9, 3.5430795262751513`*^9}, {
   3.5430796052513065`*^9, 3.543079625094038*^9}, {3.5431062016026444`*^9, 
   3.54310624330503*^9}, {3.547228934038126*^9, 3.547228937412319*^9}, 
   3.620307888678246*^9, 3.6203079342077985`*^9, {3.6203178198242617`*^9, 
   3.6203178222085*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Dimensions", "[", 
  SubscriptBox["J", "d"], "]"}]], "Input",
 CellChangeTimes->{{3.5418116194580464`*^9, 3.541811629150601*^9}, 
   3.541811736505741*^9, 3.5429005341418505`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"6", ",", "9"}], "}"}]], "Output",
 CellChangeTimes->{{3.5429005345942516`*^9, 3.542900542737466*^9}, 
   3.5429021420520964`*^9, 3.5429046281730433`*^9, 3.5429070836351147`*^9, 
   3.542931217376326*^9, 3.5429313479887967`*^9, 3.542984460629484*^9, 
   3.542985315795397*^9, 3.542987469231566*^9, 3.542987508252798*^9, 
   3.5429981124493237`*^9, 3.5430000045674043`*^9, 3.543010412386592*^9, 
   3.54301072146427*^9, 3.543010905197779*^9, 3.543079451586789*^9, {
   3.543079628078209*^9, 3.543079653475279*^9}, {3.543080301804164*^9, 
   3.543080308156617*^9}, 3.5431042414015274`*^9, 3.5431059838431892`*^9, 
   3.5431062522055387`*^9, 3.5433194796280303`*^9, 3.5433199796166277`*^9, 
   3.543363879807828*^9, 3.5438619066917214`*^9, 3.54471250760878*^9, 
   3.545265890804805*^9, 3.545266676080187*^9, 3.5457690578524284`*^9, 
   3.547221442882656*^9, 3.547228101858528*^9, 3.547228516022217*^9, 
   3.547229425815254*^9, 3.5472298824553723`*^9, 3.5472299810830135`*^9, {
   3.5472308230971737`*^9, 3.5472308389660816`*^9}, 3.5472322559701295`*^9, 
   3.547242277709919*^9, 3.547309401108579*^9, 3.5474027911489067`*^9, 
   3.5474032559354906`*^9, 3.5474035280980577`*^9, 3.547491552982793*^9, 
   3.547768631476216*^9, 3.5478304558929305`*^9, 3.5478998603906407`*^9, 
   3.5515414607248135`*^9, 3.552650638431616*^9, 3.5526529836467543`*^9, 
   3.552828543430507*^9, 3.5529326003412223`*^9, 3.5563180301867228`*^9, 
   3.556325523607792*^9, 3.5563273341565943`*^9, 3.5563856439240575`*^9, 
   3.556833700367899*^9, 3.5813374128157797`*^9, 3.58802077560961*^9, 
   3.5926615927682705`*^9, 3.6202305017643394`*^9, 3.6202309904222*^9, 
   3.620231066607818*^9, 3.6202323679939437`*^9, 3.620236135364643*^9, 
   3.620236262386344*^9, 3.620237586751767*^9, 3.6202389729473734`*^9, 
   3.6202390568347607`*^9, 3.6202396201780896`*^9, 3.6202399079768667`*^9, 
   3.6202405923352957`*^9, 3.6202411323045435`*^9, 3.6202565790668163`*^9, 
   3.6202569810658164`*^9, 3.6202579024658165`*^9, 3.6202582128048162`*^9, 
   3.6202584606308165`*^9, 3.6202589458628163`*^9, 3.6202590654668164`*^9, 
   3.6202592374988165`*^9, 3.6202601007828164`*^9, 3.6202603607048163`*^9, 
   3.6202611696288166`*^9, 3.6202614101668167`*^9, 3.6202621989068165`*^9, 
   3.620302071085545*^9, 3.6203026082982607`*^9, 3.6203028723806667`*^9, 
   3.6203033239178157`*^9, 3.6203035284372654`*^9, 3.6203037880652256`*^9, 
   3.620304022059623*^9, 3.6203047123636465`*^9, 3.620305276413046*^9, 
   3.620306203298725*^9, 3.62030643787318*^9, 3.620307753131693*^9, 
   3.620308023696747*^9, 3.6203080988342595`*^9, 3.6203081936047354`*^9, 
   3.620308813137683*^9, 3.620317907849063*^9, 3.6203184180670795`*^9, 
   3.6203192644517097`*^9, 3.620736084049049*^9, 3.6207498167310486`*^9, 
   3.620759519213049*^9, 3.620761170148049*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox[
     OverscriptBox["J", "."], "d"], "=", 
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{
      SubscriptBox["\[PartialD]", "t"], 
      SubscriptBox["J", "d"]}], "]"}]}], ";"}], "\[IndentingNewLine]", 
  "\[IndentingNewLine]", 
  StyleBox[
   RowBox[{"(*", 
    RowBox[{"constraints", "=", 
     RowBox[{"{", 
      RowBox[{
      "sf", ",", "st", ",", "sh", ",", "nsh", ",", "nst", ",", "nsf"}], 
      "}"}]}], "*)"}], "Input"], "\[IndentingNewLine]", 
  StyleBox[
   RowBox[{"(*", 
    RowBox[{
     RowBox[{"Table", "[", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{
        RowBox[{
         SubscriptBox["pe", "pos"], "=", 
         RowBox[{
          RowBox[{
           RowBox[{"RigidPosition", "[", 
            RowBox[{
             SubscriptBox["g", "pos"], "[", "\[Theta]", "]"}], "]"}], 
           "\[LeftDoubleBracket]", 
           RowBox[{"{", 
            RowBox[{"1", ",", "3"}], "}"}], "\[RightDoubleBracket]"}], "//", 
          "Simplify"}]}], ";", "\[IndentingNewLine]", 
        RowBox[{
         SubscriptBox["Re", "pos"], "=", 
         RowBox[{"RigidOrientation", "[", 
          RowBox[{
           SubscriptBox["g", "pos"], "[", "\[Theta]", "]"}], "]"}]}], ";", 
        "\n", "    ", 
        RowBox[{
         SubscriptBox["\[Omega]e", "pos"], "=", 
         RowBox[{
          RowBox[{"CrossProd", "[", 
           RowBox[{"Simplify", "[", 
            RowBox[{
             RowBox[{"Transpose", "[", 
              SubscriptBox["Re", "pos"], "]"}], ".", 
             RowBox[{
              SubscriptBox["\[PartialD]", "t"], 
              SubscriptBox["Re", "pos"]}]}], "]"}], "]"}], 
          "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ";", 
        "\[IndentingNewLine]", 
        RowBox[{
         SubscriptBox["Jh", "pos"], "=", 
         RowBox[{
          RowBox[{"Join", "[", 
           RowBox[{
            RowBox[{
             SubscriptBox["\[PartialD]", 
              RowBox[{"{", 
               RowBox[{"Flatten", "[", "qe", "]"}], "}"}]], 
             SubscriptBox["pe", "pos"]}], ",", 
            RowBox[{"{", 
             RowBox[{
              SubscriptBox["\[PartialD]", 
               RowBox[{"{", 
                RowBox[{"Flatten", "[", "dqe", "]"}], "}"}]], 
              SubscriptBox["\[Omega]e", "pos"]}], "}"}], ",", "1"}], "]"}], "//",
           "Simplify"}]}], ";", "\[IndentingNewLine]", 
        RowBox[{
         SubscriptBox["dJh", "pos"], "=", 
         RowBox[{
          RowBox[{
           SubscriptBox["\[PartialD]", "t"], 
           SubscriptBox["Jh", "pos"]}], "//", "Simplify"}]}], ";"}], 
       "\[IndentingNewLine]", ",", "\[IndentingNewLine]", 
       RowBox[{"{", 
        RowBox[{"pos", ",", "constraints"}], "}"}]}], "\[IndentingNewLine]", 
      "]"}], ";"}], "*)"}], "Input"]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["Jh", "st"], " ", "=", " ", 
   RowBox[{
    RowBox[{"Join", "[", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", "qe", "]"}], ",", "1"}], "}"}]], 
       SubscriptBox["pe", "st"]}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[PartialD]", 
         RowBox[{"{", 
          RowBox[{
           RowBox[{"Flatten", "[", "dqe", "]"}], ",", "1"}], "}"}]], 
        SubscriptBox["\[Omega]e", "st"]}], "}"}], ",", "1"}], "]"}], "//", 
    "Simplify"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  SubscriptBox["dJh", "st"], "=", 
  RowBox[{
   RowBox[{
    SubscriptBox["\[PartialD]", "t"], 
    SubscriptBox["Jh", "st"]}], "//", "Simplify"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["Jh", "nst"], " ", "=", " ", 
   RowBox[{
    RowBox[{"Join", "[", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", "qe", "]"}], ",", "1"}], "}"}]], 
       SubscriptBox["pe", "nst"]}], ",", 
      RowBox[{"{", 
       RowBox[{
        SubscriptBox["\[PartialD]", 
         RowBox[{"{", 
          RowBox[{
           RowBox[{"Flatten", "[", "dqe", "]"}], ",", "1"}], "}"}]], 
        SubscriptBox["\[Omega]e", "nst"]}], "}"}], ",", "1"}], "]"}], "//", 
    "Simplify"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["dJh", "nst"], "=", 
    RowBox[{
     RowBox[{
      SubscriptBox["\[PartialD]", "t"], 
      SubscriptBox["Jh", "nst"]}], "//", "Simplify"}]}], ";"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"SetDirectory", "[", 
   RowBox[{
    RowBox[{"NotebookDirectory", "[", "]"}], "<>", "\"\<build_torso\>\""}], 
   "]"}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   RowBox[{"SetOptions", "[", 
    RowBox[{"WriteMatlabFunction", ",", "\[IndentingNewLine]", 
     RowBox[{"Arguments", "\[Rule]", 
      RowBox[{"{", "x", "}"}]}]}], "]"}], ";"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"FileName", "=", "\"\<Jh_stoe_mat\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"Jhstoe", " ", "=", " ", 
  RowBox[{
   RowBox[{
    SubscriptBox["Jh", "st"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
   "exstatesubs"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"WriteMatlabFunction", "[", 
   RowBox[{"FileName", ",", "Jhstoe"}], "]"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"FileName", "=", "\"\<Jh_nstoe_mat\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"Jhnstoe", " ", "=", " ", 
   RowBox[{
    RowBox[{
     SubscriptBox["Jh", "nst"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
     "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"WriteMatlabFunction", "[", 
   RowBox[{"FileName", ",", "Jhnstoe"}], "]"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"FileName", "=", "\"\<dJh_stoe_mat\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"dJhstoe", " ", "=", " ", 
   RowBox[{
    RowBox[{
     SubscriptBox["dJh", "st"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
     "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"WriteMatlabFunction", "[", 
   RowBox[{"FileName", ",", "dJhstoe"}], "]"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"FileName", "=", "\"\<dJh_nstoe_mat\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"dJhnstoe", " ", "=", " ", 
   RowBox[{
    RowBox[{
     SubscriptBox["dJh", "nst"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
     "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"WriteMatlabFunction", "[", 
   RowBox[{"FileName", ",", "dJhnstoe"}], "]"}], 
  "\[IndentingNewLine]"}], "\[IndentingNewLine]"}], "Input",
 CellChangeTimes->{{3.5376215393460083`*^9, 3.537621542660198*^9}, {
   3.537621644001994*^9, 3.5376217036514063`*^9}, {3.5376266119161425`*^9, 
   3.5376266152383327`*^9}, {3.5380788445686197`*^9, 3.538078870226087*^9}, {
   3.538080112550144*^9, 3.5380801200895753`*^9}, {3.538139680143475*^9, 
   3.53813972149384*^9}, {3.538318708845624*^9, 3.538318709844026*^9}, {
   3.538318813397008*^9, 3.5383188154718113`*^9}, {3.539113543833227*^9, 
   3.5391135592460537`*^9}, {3.539113598558123*^9, 3.539113629789378*^9}, 
   3.539273191710293*^9, 3.5402484955374537`*^9, {3.5427326503654957`*^9, 
   3.5427326516758986`*^9}, {3.6203075569700785`*^9, 3.620307728312211*^9}, {
   3.620307965953973*^9, 3.6203080101573925`*^9}, {3.620308079974374*^9, 
   3.620308086237*^9}, {3.620317829825261*^9, 3.620317883658644*^9}, {
   3.6203182692822027`*^9, 3.6203182879390683`*^9}, 3.6203183896232357`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", 
     RowBox[{"-", 
      FractionBox[
       RowBox[{"381", " ", 
        RowBox[{"Cos", "[", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox[
          SubscriptBox["\[Theta]", "0"], "\[Prime]",
          MultilineFunction->None], "[", "t", "]"}]}], "2500"]}], ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", 
     RowBox[{"-", 
      FractionBox[
       RowBox[{"381", " ", 
        RowBox[{"Sin", "[", 
         RowBox[{
          SubscriptBox["\[Theta]", "0"], "[", "t", "]"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox[
          SubscriptBox["\[Theta]", "0"], "\[Prime]",
          MultilineFunction->None], "[", "t", "]"}]}], "2500"]}], ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
    "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0",
      ",", "0"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.6203182700972843`*^9, 3.620318419678241*^9, 
  3.6203192651577806`*^9, 3.620736086405049*^9, 3.620749819076049*^9, 
  3.620759520754049*^9, 3.620761171607049*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"1", ",", "0", ",", 
     RowBox[{"-", 
      FractionBox[
       RowBox[{"381", " ", 
        RowBox[{"Sin", "[", 
         RowBox[{"x", "[", "3", "]"}], "]"}]}], "2500"]}], ",", "0", ",", "0",
      ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"0", ",", "1", ",", 
     FractionBox[
      RowBox[{"381", " ", 
       RowBox[{"Cos", "[", 
        RowBox[{"x", "[", "3", "]"}], "]"}]}], "2500"], ",", "0", ",", "0", 
     ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{"0", ",", "0", ",", 
     RowBox[{"-", "1"}], ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", 
     ",", "0"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.6203182700972843`*^9, 3.620318419678241*^9, 
  3.6203192651577806`*^9, 3.620736086405049*^9, 3.620749819076049*^9, 
  3.620759520754049*^9, 3.6207611777000484`*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["calculate the guard", "Subsubsection",
 CellChangeTimes->{
  3.50439250607954*^9, 3.504539201882091*^9, {3.513013067545057*^9, 
   3.513013077660357*^9}, {3.513015048236977*^9, 3.513015054334556*^9}, {
   3.513531976155762*^9, 3.513531976917461*^9}, {3.541812745932477*^9, 
   3.541812746836529*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{"SetDirectory", "[", 
    RowBox[{
     RowBox[{"NotebookDirectory", "[", "]"}], "<>", "\"\<build_torso\>\""}], 
    "]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"h", "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     RowBox[{
      RowBox[{
       SubscriptBox["g", "nsf"], "[", "\[Theta]", "]"}], 
      "\[LeftDoubleBracket]", 
      RowBox[{"3", ",", "4"}], "\[RightDoubleBracket]"}], "/.", 
     "\[InvisibleSpace]", "p0"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"hdot", " ", "=", "  ", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     SubscriptBox["\[PartialD]", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"Flatten", "[", "q", "]"}], ",", "1"}], "}"}]], 
     RowBox[{"Flatten", "[", "h", "]"}]}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.516708318191987*^9, 3.516708318664014*^9}, {
   3.516754669099207*^9, 3.516754685899168*^9}, {3.541812761285355*^9, 
   3.541812790268013*^9}, 3.541813254639573*^9, {3.542569228242038*^9, 
   3.5425692283930464`*^9}, {3.54273265813431*^9, 3.542732671394333*^9}, 
   3.5429043999702415`*^9, {3.5429044707707667`*^9, 3.5429045098000355`*^9}, {
   3.5429045675669374`*^9, 3.5429045814197617`*^9}, {3.5429047835805426`*^9, 
   3.5429048625010815`*^9}, {3.5429070243706107`*^9, 3.542907077426304*^9}, {
   3.543106015033973*^9, 3.543106020138265*^9}, {3.5472289498680315`*^9, 
   3.547228950524069*^9}, {3.620239031429221*^9, 3.6202390334294205`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"pos", "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
   "statesubs"}], ";"}]], "Input",
 CellChangeTimes->{3.620238224183504*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<jpos_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"pos", "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
       "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}], "\[IndentingNewLine]", 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"stream", " ", "=", " ", 
     RowBox[{"OpenWrite", "[", "\"\<vtoe\>\"", "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"vtoe", "/.", "constsubs"}], "/.", "statesubs"}]}], "]"}], 
    ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513876298225372*^9, 3.513876314895954*^9}, 
   3.5207161215675383`*^9, {3.54749018694266*^9, 3.547490235142417*^9}, {
   3.5474903252195687`*^9, 3.547490329650822*^9}, {3.5474913627339115`*^9, 
   3.5474913818560047`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<De_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[ScriptCapitalD]e", "/.", "\[InvisibleSpace]", "constsubs"}],
        "/.", "exstatesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.512953878469522*^9, 3.512953886446665*^9}, {
   3.512994085488056*^9, 3.512994090994364*^9}, 3.512994135460699*^9, {
   3.513013423442089*^9, 3.513013424564995*^9}, {3.513014073959661*^9, 
   3.513014078429472*^9}, 3.513014297088332*^9, {3.51301484393123*^9, 
   3.513014845159042*^9}, {3.513015197361516*^9, 3.513015197908276*^9}, {
   3.513887638252694*^9, 3.513887640636993*^9}, 3.5207161274308734`*^9, {
   3.5427343572421827`*^9, 3.5427343574501944`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<D_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[ScriptCapitalD]", "/.", "\[InvisibleSpace]", "constsubs"}], 
       "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.512953878469522*^9, 3.512953886446665*^9}, {
   3.512994085488056*^9, 3.512994090994364*^9}, 3.512994135460699*^9, {
   3.513013423442089*^9, 3.513013424564995*^9}, {3.513014073959661*^9, 
   3.513014078429472*^9}, 3.513014297088332*^9, {3.513015201746145*^9, 
   3.513015202045883*^9}, 3.5207161235046487`*^9, {3.5427343543952255`*^9, 
   3.5427343761545725`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<C_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[ScriptCapitalC]", "/.", "\[InvisibleSpace]", "constsubs"}], 
       "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.512953878469522*^9, 3.512953886446665*^9}, {
   3.512994085488056*^9, 3.512994090994364*^9}, 3.512994135460699*^9, {
   3.513013423442089*^9, 3.513013424564995*^9}, {3.513014073959661*^9, 
   3.513014076194914*^9}, 3.513014294914336*^9, {3.513015198946243*^9, 
   3.513015199252923*^9}, 3.5207161246117125`*^9, {3.5427343507460194`*^9, 
   3.5427343523461084`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Ce_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[ScriptCapitalC]e", "/.", "\[InvisibleSpace]", "constsubs"}],
        "/.", "exstatesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5427327113616033`*^9, 3.542732720472019*^9}, {
  3.5427343791463327`*^9, 3.542734379354345*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Ge_vec\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[ScriptCapitalG]e", "/.", "\[InvisibleSpace]", "constsubs"}],
        "/.", "exstatesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.512953878469522*^9, 3.512953886446665*^9}, {
   3.512994085488056*^9, 3.512994090994364*^9}, 3.512994135460699*^9, {
   3.513013423442089*^9, 3.513013424564995*^9}, {3.513014073959661*^9, 
   3.513014076194914*^9}, {3.513014291511217*^9, 3.51301431273912*^9}, {
   3.513015194622436*^9, 3.513015194950777*^9}, {3.5158609614944687`*^9, 
   3.515860974401207*^9}, 3.520716126131799*^9, {3.5427343944424872`*^9, 
   3.5427343958823633`*^9}, 3.542734453258155*^9, {3.542735295240738*^9, 
   3.5427352963934016`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<G_vec\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[ScriptCapitalG]", "/.", "\[InvisibleSpace]", "constsubs"}], 
       "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5427353024410925`*^9, 3.5427353090940533`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Ee_mat\>\"", "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["J", "d"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "exstatesubs"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.4978952481411505`*^9, 3.4978953056554403`*^9}, {
   3.504541084026764*^9, 3.504541092118987*^9}, {3.504545862009512*^9, 
   3.504545864143497*^9}, 3.504652479388712*^9, {3.5125119377519436`*^9, 
   3.512511937845544*^9}, {3.512525693637813*^9, 3.512525694152614*^9}, {
   3.5125257246194677`*^9, 3.512525725415069*^9}, {3.513015036076006*^9, 
   3.513015036343996*^9}, {3.51301512396632*^9, 3.513015127387151*^9}, {
   3.513015189396898*^9, 3.513015190520248*^9}, {3.513887472707003*^9, 
   3.51388747514813*^9}, {3.513887645297176*^9, 3.513887645992246*^9}, 
   3.5207161322741504`*^9, {3.5418740297886677`*^9, 3.541874059085519*^9}, 
   3.5427343980424843`*^9, {3.5427344466026945`*^9, 3.5427344512910585`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Edot_mat\>\"", "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox[
         OverscriptBox["J", "."], "d"], "/.", "\[InvisibleSpace]", 
        "constsubs"}], "/.", "exstatesubs"}]}], "]"}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5429311591179943`*^9, 3.542931182725344*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<h_sca\>\"", "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"h", "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
       "statesubs"}]}], "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.4978952481411505`*^9, 3.4978953056554403`*^9}, {
   3.504541084026764*^9, 3.504541092118987*^9}, {3.504545862009512*^9, 
   3.504545864143497*^9}, 3.504652479388712*^9, {3.5125119377519436`*^9, 
   3.512511937845544*^9}, {3.512525693637813*^9, 3.512525694152614*^9}, {
   3.5125257246194677`*^9, 3.512525725415069*^9}, {3.513015036076006*^9, 
   3.513015036343996*^9}, {3.51301512396632*^9, 3.513015127387151*^9}, {
   3.513015181146682*^9, 3.513015186905603*^9}, {3.513887467972675*^9, 
   3.513887469003708*^9}, {3.513887648118017*^9, 3.513887648448756*^9}, 
   3.5207161339002433`*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<h_dot_mat\>\"", "]"}]}], ";", 
    "\[IndentingNewLine]", 
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"hdot", "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
       "statesubs"}]}], "]"}], ";", "\[IndentingNewLine]", 
    RowBox[{"Close", "[", "stream", "]"}], ";", "\[IndentingNewLine]", 
    RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}], 
  "\[IndentingNewLine]", "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{"SetOptions", "[", 
     RowBox[{"WriteMatlabFunction", ",", 
      RowBox[{"Arguments", "\[Rule]", 
       RowBox[{"{", "x", "}"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"FileName", "=", "\"\<De_mat\>\""}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"De", " ", "=", " ", 
     RowBox[{
      RowBox[{"\[ScriptCapitalD]e", "/.", "\[InvisibleSpace]", "constsubs"}], 
      "/.", "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"WriteMatlabFunction", "[", 
    RowBox[{"FileName", ",", "De"}], "]"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"FileName", "=", "\"\<Ce_mat\>\""}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Ce", " ", "=", " ", 
     RowBox[{
      RowBox[{"\[ScriptCapitalC]e", "/.", "\[InvisibleSpace]", "constsubs"}], 
      "/.", "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"WriteMatlabFunction", "[", 
    RowBox[{"FileName", ",", "Ce"}], "]"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"FileName", "=", "\"\<Ge_vec\>\""}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Ge", " ", "=", " ", 
     RowBox[{
      RowBox[{"\[ScriptCapitalG]e", "/.", "\[InvisibleSpace]", "constsubs"}], 
      "/.", "exstatesubs"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"WriteMatlabFunction", "[", 
    RowBox[{"FileName", ",", "Ge"}], "]"}]}]}]], "Input",
 CellChangeTimes->{{3.4978952481411505`*^9, 3.4978953056554403`*^9}, {
   3.504541084026764*^9, 3.504541092118987*^9}, {3.504545862009512*^9, 
   3.504545864143497*^9}, 3.504652479388712*^9, {3.5125119377519436`*^9, 
   3.512511937845544*^9}, {3.512525693637813*^9, 3.512525694152614*^9}, {
   3.5125257246194677`*^9, 3.512525725415069*^9}, {3.513015036076006*^9, 
   3.513015036343996*^9}, {3.51301512396632*^9, 3.513015127387151*^9}, {
   3.513015181146682*^9, 3.513015186905603*^9}, {3.513887467972675*^9, 
   3.513887469003708*^9}, {3.513887648118017*^9, 3.513887648448756*^9}, {
   3.5167541423880806`*^9, 3.5167541451912413`*^9}, 3.52071613524032*^9, {
   3.6202382028313694`*^9, 3.620238247192805*^9}, 3.6202382781308985`*^9, {
   3.6202383429573803`*^9, 3.620238353764461*^9}, {3.6202384398870726`*^9, 
   3.6202385649325757`*^9}, {3.620239815130583*^9, 3.6202398190089707`*^9}, {
   3.620240508305894*^9, 3.6202405094740105`*^9}, {3.6202408778558445`*^9, 
   3.6202409056956286`*^9}, 3.620241489541525*^9, {3.6203024676922016`*^9, 
   3.6203024690763397`*^9}, 3.6203062413955345`*^9}]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Choosing the Outputs", "Section",
 CellChangeTimes->{{3.5206963594857893`*^9, 3.520696361509555*^9}, {
  3.5210630974288096`*^9, 3.521063101088019*^9}}],

Cell["calculate COM for later use", "Text",
 CellChangeTimes->{{3.527517849280295*^9, 3.527517851164325*^9}, {
  3.527518048751359*^9, 3.52751805237524*^9}}],

Cell[CellGroupData[{

Cell[BoxData[{
 RowBox[{
  RowBox[{
   SubscriptBox["p", "COM"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{
     FractionBox[
      RowBox[{
       UnderoverscriptBox["\[Sum]", 
        RowBox[{"i", "=", "1"}], "ndof"], 
       RowBox[{
        RowBox[{
         RowBox[{
          SubscriptBox["g", "i"], "[", "\[Theta]", "]"}], 
         "\[LeftDoubleBracket]", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"1", ",", "3"}], "}"}], ",", "4"}], 
         "\[RightDoubleBracket]"}], " ", 
        RowBox[{
        "mm", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}]}], 
      RowBox[{"Total", "[", "mm", "]"}]], "/.", "\[InvisibleSpace]", 
     "constsubs"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  SubscriptBox["p", "COM"], "/.", "xplusStatesubs"}], "\[IndentingNewLine]", 
 RowBox[{
  SubscriptBox["p", "COM"], "/.", 
  "xminusStatesubs"}], "\[IndentingNewLine]", 
 RowBox[{"0.1389170010093744", "-", 
  "0.04065110938841369"}], "\[IndentingNewLine]"}], "Input",
 CellChangeTimes->{{3.527517851934319*^9, 3.527517873584816*^9}, {
   3.527517942241016*^9, 3.527518031085544*^9}, {3.527518364898716*^9, 
   3.527518402736513*^9}, 3.527540516409532*^9, {3.5278756837753963`*^9, 
   3.5278757363124013`*^9}, {3.5375589436087866`*^9, 3.537559002523156*^9}, 
   3.537561380470167*^9, {3.537562803416555*^9, 3.537562817710373*^9}, {
   3.538229844412299*^9, 3.538229859500162*^9}, {3.5386888606316333`*^9, 
   3.5386888707092094`*^9}, {3.5386889046441507`*^9, 
   3.5386889390671196`*^9}, {3.5387486662928343`*^9, 
   3.5387486698290367`*^9}, {3.542731005716607*^9, 3.542731008041011*^9}, {
   3.620761118218049*^9, 3.6207611545990486`*^9}, {3.620761375241049*^9, 
   3.6207613862000484`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.04065110938841369`", ",", "0.6570412235442521`"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.6207612590470486`*^9, 3.620761388110049*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.1389170010093744`", ",", "0.6573409545101386`"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.6207612590470486`*^9, 3.620761388112049*^9}],

Cell[BoxData["0.09826589162096072`"], "Output",
 CellChangeTimes->{3.6207612590470486`*^9, 3.6207613881130486`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Torso Angle", "Subsection",
 CellChangeTimes->{{3.5206963594857893`*^9, 3.520696361509555*^9}}],

Cell[CellGroupData[{

Cell["Torso angle", "Subsubsection",
 CellChangeTimes->{{3.5206955441956043`*^9, 3.520695554257166*^9}, 
   3.5418143566776066`*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"TorsoAngle", "=", 
  RowBox[{
   UnderoverscriptBox["\[Sum]", "i", "3"], 
   RowBox[{
    SubscriptBox["\[Theta]", "i"], "[", "t", "]"}]}]}]], "Input",
 CellChangeTimes->{{3.52069555679044*^9, 3.520695570667728*^9}, {
   3.520709652691082*^9, 3.520709653905396*^9}, {3.541813857181037*^9, 
   3.5418138978823647`*^9}, 3.5418139603999405`*^9, 3.5418143665181694`*^9, {
   3.54273101877383*^9, 3.542731024935841*^9}, {3.54273136585884*^9, 
   3.542731386060875*^9}, {3.542731419382534*^9, 3.5427314197101345`*^9}, {
   3.5429005671047087`*^9, 3.542900569756713*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
  RowBox[{
   SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "+", 
  RowBox[{
   SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}]], "Output",
 CellChangeTimes->{
  3.542900570115514*^9, 3.542902142405116*^9, 3.542904628531844*^9, 
   3.5429070839627156`*^9, 3.5429312191664286`*^9, 3.542931348378819*^9, 
   3.542985316974464*^9, 3.542987508599818*^9, 3.5429981151204767`*^9, 
   3.543000004941805*^9, 3.54301041392668*^9, 3.5430107232523727`*^9, 
   3.543010905767812*^9, 3.543079454581994*^9, 3.543079653954306*^9, 
   3.5430803140790496`*^9, 3.543106032198955*^9, 3.5431062574968414`*^9, 
   3.543319480100057*^9, 3.5433199800346518`*^9, 3.5433638820599566`*^9, 
   3.543861911174978*^9, 3.5452658953010573`*^9, 3.5452666782273097`*^9, 
   3.5457690601335588`*^9, 3.547221445661815*^9, 3.5472285494221272`*^9, 
   3.5472294290874414`*^9, 3.5472298859005694`*^9, 3.5472299816770477`*^9, {
   3.5472308236482058`*^9, 3.547230839482111*^9}, 3.5472322590013027`*^9, 
   3.547242304558171*^9, 3.547309403585721*^9, 3.547402793752055*^9, 
   3.5474032563155127`*^9, 3.5474035285080805`*^9, 3.5474915553399277`*^9, 
   3.5477686370745363`*^9, 3.5478304582420645`*^9, 3.547899862708773*^9, 
   3.5515414630804176`*^9, 3.5526506407167463`*^9, 3.5526529841237817`*^9, 
   3.552828545804643*^9, 3.5529326027413597`*^9, 3.556318036809101*^9, 
   3.5563255296091347`*^9, 3.5563273349826417`*^9, 3.5563856504701223`*^9, 
   3.5568337046972933`*^9, 3.58133742785364*^9, 3.588020791094496*^9, 
   3.592661595469425*^9, 3.6202309925204105`*^9, 3.6202310699601536`*^9, 
   3.6202323713142757`*^9, 3.6202361380259094`*^9, 3.620236264994605*^9, 
   3.6202375892790203`*^9, 3.6202391379908757`*^9, 3.620239701099181*^9, 
   3.6202399904461126`*^9, 3.620240674676529*^9, 3.6202412137124014`*^9, 
   3.6202566615608163`*^9, 3.6202570666838164`*^9, 3.6202579860978165`*^9, 
   3.6202582973098164`*^9, 3.6202585425128164`*^9, 3.620259147957816*^9, 
   3.6202593216368165`*^9, 3.6202601850648165`*^9, 3.620260443688816*^9, 
   3.6202612499048166`*^9, 3.6202614947358165`*^9, 3.6202622811878166`*^9, 
   3.6203021556580014`*^9, 3.620302689415372*^9, 3.6203029534597735`*^9, 
   3.6203034042728505`*^9, 3.62030360838826*^9, 3.620303870604479*^9, 
   3.6203041033347497`*^9, 3.6203047935927687`*^9, 3.620305356277031*^9, 
   3.6203065166740594`*^9, 3.620307837403119*^9, 3.620308277887163*^9, 
   3.620308897402108*^9, 3.62031799392867*^9, 3.620318505025775*^9, 
   3.620319349330197*^9, 3.620761259056049*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Torso Hip angle", "Subsubsection",
 CellChangeTimes->{3.520695578765766*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"TorsoHipAngle", "=", " ", 
  RowBox[{
   RowBox[{
    SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "-", 
   RowBox[{
    SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}]}]], "Input",
 CellChangeTimes->{{3.5206945398251047`*^9, 3.520694570527237*^9}, {
   3.5206954481403933`*^9, 3.520695451085517*^9}, {3.520709696720999*^9, 
   3.520709699861195*^9}, {3.520710054090211*^9, 3.520710059923527*^9}, 
   3.5418143685822873`*^9, {3.5427310294130487`*^9, 3.542731040286268*^9}, {
   3.5427310834359436`*^9, 3.542731124698016*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "-", 
  RowBox[{
   SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}]], "Output",
 CellChangeTimes->{
  3.5427311252284174`*^9, 3.5427317938667917`*^9, 3.542733698160447*^9, 
   3.5427344124218435`*^9, 3.542734459865829*^9, 3.5427345872660894`*^9, 
   3.542734729730768*^9, 3.542734864085552*^9, 3.5427354231664705`*^9, 
   3.5427361536145077`*^9, 3.542736258133008*^9, 3.542736794088066*^9, 
   3.5427368592326155`*^9, 3.542900687335592*^9, 3.542902142435118*^9, 
   3.5429046285474443`*^9, 3.5429070839783154`*^9, 3.542931219179429*^9, 
   3.5429313484048204`*^9, 3.5429853169894648`*^9, 3.542987508616819*^9, 
   3.542998115137478*^9, 3.543000004957405*^9, 3.543010413946681*^9, 
   3.5430107232743735`*^9, 3.543010905789813*^9, 3.5430794545975943`*^9, 
   3.543079653982308*^9, 3.543080314104051*^9, 3.5431060322149563`*^9, 
   3.543106257512842*^9, 3.5433194801070576`*^9, 3.543319980039652*^9, 
   3.5433638820669565`*^9, 3.5438619112069798`*^9, 3.5452658953340592`*^9, 
   3.5452666782323103`*^9, 3.545769060136559*^9, 3.547221445675816*^9, 
   3.54722854946913*^9, 3.547229429122443*^9, 3.547229885936571*^9, 
   3.5472299817310505`*^9, {3.547230823672207*^9, 3.547230839506112*^9}, 
   3.5472322590153036`*^9, 3.5472423046481705`*^9, 3.5473094036127224`*^9, 
   3.5474027937950573`*^9, 3.547403256335513*^9, 3.5474035285560837`*^9, 
   3.5474915553879304`*^9, 3.5477686370945373`*^9, 3.547830458279067*^9, 
   3.5478998627367744`*^9, 3.5515414631116176`*^9, 3.5526506407377477`*^9, 
   3.552652984147783*^9, 3.552828545831645*^9, 3.5529326027553606`*^9, 
   3.556318036870105*^9, 3.5563255296681385`*^9, 3.5563273350266447`*^9, 
   3.556385650540122*^9, 3.556833704737903*^9, 3.5813374278756413`*^9, 
   3.588020791115497*^9, 3.592661595488426*^9, 3.620230992526411*^9, 
   3.6202310699651537`*^9, 3.6202323713182764`*^9, 3.6202361380289097`*^9, 
   3.6202362649986053`*^9, 3.620237589285021*^9, 3.6202391379968767`*^9, 
   3.6202397011041813`*^9, 3.620239990452113*^9, 3.6202406746815295`*^9, 
   3.620241213717391*^9, 3.6202566615678167`*^9, 3.6202570666898165`*^9, 
   3.6202579861078167`*^9, 3.6202582973148165`*^9, 3.6202585425198164`*^9, 
   3.6202591479638166`*^9, 3.6202593216408167`*^9, 3.6202601850698166`*^9, 
   3.620260443693816*^9, 3.620261249912816*^9, 3.6202614947398167`*^9, 
   3.6202622811928167`*^9, 3.620302155663002*^9, 3.6203026894213724`*^9, 
   3.6203029534677744`*^9, 3.620303404278851*^9, 3.620303608395261*^9, 
   3.6203038706094794`*^9, 3.62030410333775*^9, 3.620304793596769*^9, 
   3.6203053562810316`*^9, 3.62030651668006*^9, 3.6203078374091196`*^9, 
   3.6203082778921633`*^9, 3.620308897406109*^9, 3.620317993935671*^9, 
   3.620318505029775*^9, 3.620319349334197*^9, 3.620761259062049*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Torso non-stance thigh angle", "Subsubsection",
 CellChangeTimes->{{3.5206955441956043`*^9, 3.520695554257166*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"outputsTorso", " ", "=", " ", "TorsoAngle"}], ";"}]], "Input",
 CellChangeTimes->{{3.5418146217817698`*^9, 3.5418146328814044`*^9}, {
   3.541870851866314*^9, 3.541870859182727*^9}, {3.5425504111854196`*^9, 
   3.5425504129455204`*^9}, 3.5425505156143923`*^9, 3.54255662260425*^9, {
   3.542557113699977*^9, 3.542557125050993*^9}, {3.5427315266463227`*^9, 
   3.542731529189127*^9}}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Non-Stance Leg", "Subsection",
 CellChangeTimes->{{3.520696369485465*^9, 3.520696373189542*^9}, {
  3.527518724466259*^9, 3.527518730429883*^9}, {3.52754059614551*^9, 
  3.527540598788119*^9}}],

Cell[CellGroupData[{

Cell["non-stance slope", "Subsubsection",
 CellChangeTimes->{{3.520696408621931*^9, 3.5206964120770273`*^9}, 
   3.5384851650680585`*^9, 3.538689856414589*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"outputsNSLeg", "=", 
   RowBox[{"{", 
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{
         RowBox[{
          RowBox[{
           SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], 
          "\[LeftDoubleBracket]", 
          RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}], "-", 
         RowBox[{
          RowBox[{
           SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], 
          "\[LeftDoubleBracket]", 
          RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}]}], ")"}], "/", 
       RowBox[{"(", 
        RowBox[{
         RowBox[{
          RowBox[{
           SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], 
          "\[LeftDoubleBracket]", 
          RowBox[{"3", ",", "4"}], "\[RightDoubleBracket]"}], "-", 
         RowBox[{
          RowBox[{
           SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], 
          "\[LeftDoubleBracket]", 
          RowBox[{"3", ",", "4"}], "\[RightDoubleBracket]"}]}], ")"}]}], 
      ")"}], "]"}], "}"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.527518748452339*^9, 3.527518764917305*^9}, {
  3.5375590640716767`*^9, 3.5375590701520243`*^9}, {3.53868926794293*^9, 
  3.538689269045993*^9}, {3.538758158260744*^9, 3.5387581591397943`*^9}, {
  3.5387583015289383`*^9, 3.5387583203020124`*^9}, {3.5387584521335526`*^9, 
  3.538758453509631*^9}, {3.541814152112906*^9, 3.541814191663168*^9}, {
  3.5418152514167824`*^9, 3.541815263806491*^9}, {3.541815306325923*^9, 
  3.541815313133312*^9}, {3.547228969726167*^9, 3.547228977445609*^9}, {
  3.547229658192545*^9, 3.5472296640648813`*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], "\[LeftDoubleBracket]", 
  RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}]], "Input",
 CellChangeTimes->{{3.547229148913416*^9, 3.5472291495534525`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   FractionBox["254", "625"]}], " ", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{"Sin", "[", 
     RowBox[{
      SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "]"}], "+", 
    RowBox[{"Sin", "[", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
      RowBox[{
       SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "]"}], "-", 
    RowBox[{"2", " ", 
     RowBox[{"Cos", "[", 
      FractionBox[
       RowBox[{
        SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "2"], "]"}], " ", 
     RowBox[{"Sin", "[", 
      RowBox[{
       RowBox[{
        SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
       RowBox[{
        SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "+", 
       RowBox[{
        SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "-", 
       RowBox[{
        SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "-", 
       FractionBox[
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "2"]}], "]"}]}]}], 
   ")"}]}]], "Output",
 CellChangeTimes->{
  3.5427361538395205`*^9, {3.542736258423024*^9, 3.5427362768668346`*^9}, 
   3.5427367943570814`*^9, 3.5427368595066276`*^9, 3.5429006432343144`*^9, 
   3.5429021426321297`*^9, 3.5429046287034445`*^9, 3.542907084134316*^9, 
   3.54293121937444*^9, 3.542931348606832*^9, 3.54298531708047*^9, 
   3.542987508709824*^9, 3.542998115249484*^9, 3.543000005051005*^9, 
   3.543010414044687*^9, 3.5430107233843803`*^9, 3.5430109058978195`*^9, 
   3.543079454737994*^9, 3.543079654102315*^9, 3.543080314221058*^9, 
   3.543106032306961*^9, 3.543106257601847*^9, 3.5433194801900625`*^9, 
   3.5433199801196566`*^9, 3.5433638821499615`*^9, 3.5438619113479877`*^9, 
   3.545265895479068*^9, 3.545266678310314*^9, 3.5457690602095633`*^9, 
   3.5472214457658215`*^9, 3.5472285495831366`*^9, 3.5472294294434614`*^9, 
   3.5472298860465775`*^9, 3.547229981863058*^9, {3.5472308237682123`*^9, 
   3.5472308396041183`*^9}, 3.547232259140311*^9, 3.5472423051631727`*^9, 
   3.5473094037147284`*^9, 3.547402793906064*^9, 3.5474032564205184`*^9, 
   3.5474035286730905`*^9, 3.547491555502937*^9, 3.547768637213544*^9, 
   3.5478304583870735`*^9, 3.5478998628367805`*^9, 3.5515414632208176`*^9, 
   3.552650640829753*^9, 3.5526529842437887`*^9, 3.5528285459306507`*^9, 
   3.5529326028423653`*^9, 3.556318037050115*^9, 3.556325529835148*^9, 
   3.5563273351686525`*^9, 3.5563856507081304`*^9, 3.5568337048970537`*^9, 
   3.581337427935645*^9, 3.5880207911745005`*^9, 3.592661595573431*^9, 
   3.6202309926054187`*^9, 3.620231070042162*^9, 3.620232371393284*^9, 
   3.620236138103917*^9, 3.6202362650746126`*^9, 3.620237589366029*^9, 
   3.620239138082885*^9, 3.6202397011831894`*^9, 3.6202399905311213`*^9, 
   3.6202406747635374`*^9, 3.620241213796233*^9, 3.6202566616518164`*^9, 
   3.6202570667898164`*^9, 3.6202579861908164`*^9, 3.620258297403816*^9, 
   3.6202585426038165`*^9, 3.6202591480598164`*^9, 3.6202593217278166`*^9, 
   3.6202601851518164`*^9, 3.6202604437748165`*^9, 3.6202612500128164`*^9, 
   3.6202614948238163`*^9, 3.6202622812718163`*^9, 3.620302155755011*^9, 
   3.620302689510381*^9, 3.620302953562784*^9, 3.620303404358859*^9, 
   3.6203036084782686`*^9, 3.620303870686487*^9, 3.6203041034137573`*^9, 
   3.6203047936757765`*^9, 3.6203053563580394`*^9, 3.620306516760068*^9, 
   3.6203078374891276`*^9, 3.620308277972172*^9, 3.620308897485117*^9, 
   3.6203179940306807`*^9, 3.6203185051057825`*^9, 3.620319349408204*^9, 
   3.6207612591440487`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], "\[LeftDoubleBracket]", 
  
  RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}]], "Input",
 CellChangeTimes->{3.5472296878142395`*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   FractionBox["508", "625"]}], " ", 
  RowBox[{"Cos", "[", 
   FractionBox[
    RowBox[{
     SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "2"], "]"}], " ", 
  RowBox[{"Sin", "[", 
   RowBox[{
    RowBox[{
     SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
    FractionBox[
     RowBox[{
      SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "2"]}], 
   "]"}]}]], "Output",
 CellChangeTimes->{
  3.5427361538685217`*^9, 3.5427362584640265`*^9, 3.542736794396084*^9, 
   3.5427368595386295`*^9, 3.542900645231118*^9, 3.542902142663131*^9, 
   3.542904628734645*^9, 3.5429070841499157`*^9, 3.5429312193894415`*^9, 
   3.5429313486318336`*^9, 3.542985317097471*^9, 3.542987508728825*^9, 
   3.5429981152724857`*^9, 3.543000005066605*^9, 3.5430104140646877`*^9, 
   3.5430107234103813`*^9, 3.54301090592082*^9, 3.5430794547691946`*^9, 
   3.543079654131316*^9, 3.5430803142510595`*^9, 3.543106032323962*^9, 
   3.5431062576208487`*^9, 3.5433194802000628`*^9, 3.543319980127657*^9, 
   3.5433638821589622`*^9, 3.54386191138399*^9, 3.5452658955140696`*^9, 
   3.545266678319315*^9, 3.545769060215564*^9, 3.547221445783822*^9, 
   3.5472285496301394`*^9, 3.5472294294534616`*^9, 3.54722988608358*^9, 
   3.5472299819180613`*^9, {3.5472308237912135`*^9, 3.54723083962912*^9}, 
   3.547232259158312*^9, 3.5472423052381725`*^9, 3.5473094037437296`*^9, 
   3.5474027939500666`*^9, 3.547403256436519*^9, 3.547403528721093*^9, 
   3.5474915555509396`*^9, 3.5477686372405453`*^9, 3.547830458423075*^9, 
   3.5478998628647823`*^9, 3.551541463252018*^9, 3.552650640850754*^9, 
   3.55265298427179*^9, 3.552828545958652*^9, 3.552932602858366*^9, 
   3.5563180371141186`*^9, 3.556325529897151*^9, 3.556327335221656*^9, 
   3.5563856507571335`*^9, 3.556833704928035*^9, 3.5813374279606466`*^9, 
   3.5880207911985016`*^9, 3.592661595582432*^9, 3.620230992611419*^9, 
   3.620231070047162*^9, 3.620232371397284*^9, 3.620236138107918*^9, 
   3.6202362650786133`*^9, 3.6202375893730297`*^9, 3.620239138087886*^9, 
   3.62023970118819*^9, 3.620239990537122*^9, 3.6202406747695384`*^9, 
   3.6202412138012233`*^9, 3.6202566616588163`*^9, 3.6202570667968163`*^9, 
   3.620257986200816*^9, 3.6202582974098167`*^9, 3.6202585426118164`*^9, 
   3.6202591480658164`*^9, 3.6202593217328167`*^9, 3.6202601851568165`*^9, 
   3.620260443780816*^9, 3.6202612500218163`*^9, 3.6202614948298163`*^9, 
   3.6202622812758164`*^9, 3.6203021557610116`*^9, 3.6203026895193825`*^9, 
   3.6203029535697846`*^9, 3.6203034043658595`*^9, 3.62030360848627*^9, 
   3.620303870690488*^9, 3.6203041034167576`*^9, 3.6203047936817775`*^9, 
   3.62030535636304*^9, 3.620306516767069*^9, 3.6203078374951286`*^9, 
   3.6203082779781723`*^9, 3.620308897490117*^9, 3.620317994038681*^9, 
   3.620318505109783*^9, 3.620319349413205*^9, 3.620761259152049*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["linearized non-stance slope", "Subsubsection",
 CellChangeTimes->{{3.520696416053858*^9, 3.5206964219347477`*^9}, 
   3.5384851609652514`*^9, 3.538689851174289*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"outputsNSLeg", "=", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{"Linearize", "[", 
      RowBox[{"#", ",", 
       RowBox[{"Flatten", "[", "qe", "]"}], ",", 
       RowBox[{"Table", "[", 
        RowBox[{"0", ",", 
         RowBox[{"{", "9", "}"}]}], "]"}]}], "]"}], "&"}], "/@", 
    RowBox[{
    "outputsNSLeg", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], 
   "//", "ParallelSimplify"}]}]], "Input",
 CellChangeTimes->{{3.5276174796189756`*^9, 3.5276175122438416`*^9}, 
   3.5375590203131742`*^9, {3.537559254136548*^9, 3.5375592702674704`*^9}, {
   3.5375593282407866`*^9, 3.5375593409075108`*^9}, {3.538485138048811*^9, 
   3.538485150856434*^9}, {3.538485210245738*^9, 3.5384852133501434`*^9}, {
   3.5384915583560886`*^9, 3.5384915635352983`*^9}, {3.538689286850012*^9, 
   3.5386893440982857`*^9}, {3.538758142996871*^9, 3.5387581735486183`*^9}, {
   3.5387583060411963`*^9, 3.538758325899332*^9}, {3.538758457286847*^9, 
   3.538758482106267*^9}, {3.541814183669711*^9, 3.541814185245801*^9}, 
   3.541814372461509*^9, 3.541815213456611*^9, {3.541872994362321*^9, 
   3.5418729983403277`*^9}, {3.5427358138499765`*^9, 3.542735838393467*^9}, {
   3.542988276741753*^9, 3.542988285916278*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   RowBox[{
    SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "-", 
  RowBox[{
   SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "-", 
  RowBox[{
   SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "+", 
  RowBox[{
   SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "+", 
  FractionBox[
   RowBox[{
    SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "2"]}]], "Output",
 CellChangeTimes->{
  3.541815322377841*^9, 3.541818718073064*^9, 3.541819460203511*^9, 
   3.541863467793748*^9, 3.541868247930873*^9, 3.541870796971817*^9, 
   3.541872999213929*^9, 3.5424714618837333`*^9, 3.5424725659097443`*^9, 
   3.5424800298087454`*^9, 3.542484081881524*^9, 3.542494457137398*^9, 
   3.5425426487882094`*^9, 3.5425430155601873`*^9, 3.542549680976654*^9, 
   3.542556630368261*^9, 3.5425571431620183`*^9, 3.5425692743106728`*^9, 
   3.542569339029374*^9, 3.542570062016727*^9, 3.542731162980483*^9, 
   3.542731794459593*^9, 3.5427336987214756`*^9, 3.5427344129708633`*^9, 
   3.542734460446862*^9, 3.5427345878391223`*^9, 3.5427347302885976`*^9, 
   3.542734864669585*^9, 3.542735423471488*^9, {3.542735814263998*^9, 
   3.5427358418814573`*^9}, 3.542736153900524*^9, 3.542736258497029*^9, 
   3.5427367944440866`*^9, 3.5427368595746317`*^9, {3.5429005957931585`*^9, 
   3.542900647009521*^9}, 3.542902142696133*^9, 3.542904628750245*^9, 
   3.542907084165516*^9, 3.542931219406442*^9, 3.542931348661835*^9, 
   3.5429853171164722`*^9, {3.542987480891233*^9, 3.542987508746826*^9}, {
   3.5429882876293755`*^9, 3.5429882943037577`*^9}, 3.5429981152954865`*^9, 
   3.5430000050822053`*^9, 3.5430104141076903`*^9, 3.543010723440383*^9, 
   3.543010905946822*^9, 3.543079454800394*^9, 3.543079654162318*^9, 
   3.543080314283061*^9, 3.543106032344963*^9, 3.5431062576418495`*^9, 
   3.5433194802140636`*^9, 3.5433199801386576`*^9, 3.5433638821719627`*^9, 
   3.543861911423992*^9, 3.5452658955520716`*^9, 3.5452666783303156`*^9, 
   3.545769060223564*^9, 3.547221445804824*^9, 3.5472285496781416`*^9, 
   3.5472294294954643`*^9, 3.54722988609558*^9, 3.5472299819730644`*^9, {
   3.5472308238162155`*^9, 3.547230839657121*^9}, 3.5472322591783133`*^9, 
   3.547242305338173*^9, 3.5473094037747316`*^9, 3.5474027939980693`*^9, 
   3.54740325645652*^9, 3.547403528771096*^9, 3.5474915556009426`*^9, 
   3.547768637270547*^9, 3.547830458462077*^9, 3.547899862895784*^9, 
   3.551541463298818*^9, 3.5526506408757553`*^9, 3.5526529843017917`*^9, 
   3.5528285459886537`*^9, 3.5529326028783674`*^9, 3.5563180371831226`*^9, 
   3.556325529966155*^9, 3.5563273352726583`*^9, 3.556385650806136*^9, 
   3.5568337049640903`*^9, 3.5813374281166553`*^9, 3.588020791395513*^9, 
   3.592661595613434*^9, 3.620230992636422*^9, 3.6202310700631638`*^9, 
   3.6202323714042845`*^9, 3.6202361381139183`*^9, 3.620236265098615*^9, 
   3.6202375893870306`*^9, 3.620239138102887*^9, 3.620239701196191*^9, 
   3.6202399905531235`*^9, 3.62024067478754*^9, 3.6202412138082094`*^9, 
   3.6202566616728163`*^9, 3.6202570668198166`*^9, 3.6202579862108164`*^9, 
   3.6202582974348164`*^9, 3.6202585426308165`*^9, 3.6202591480808163`*^9, 
   3.6202593217448163`*^9, 3.620260185167816*^9, 3.6202604438048162`*^9, 
   3.6202612500388165`*^9, 3.6202614948418164`*^9, 3.6202622812898164`*^9, 
   3.6203021557670126`*^9, 3.620302689527383*^9, 3.6203029535777855`*^9, 
   3.6203034043738604`*^9, 3.6203036084932704`*^9, 3.6203038706974883`*^9, 
   3.6203041034237585`*^9, 3.6203047936937785`*^9, 3.620305356370041*^9, 
   3.6203065167780695`*^9, 3.6203078375111303`*^9, 3.6203082779901733`*^9, 
   3.6203088975031185`*^9, 3.620317994049682*^9, 3.6203185051157837`*^9, 
   3.6203193494192057`*^9, 3.6207612591600485`*^9}]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Stance Knee", "Subsection",
 CellChangeTimes->{{3.527517127211601*^9, 3.527517129005871*^9}, 
   3.5384849013641953`*^9, {3.5386898445419097`*^9, 3.538689846342013*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"outputsSTKnee", "=", 
   RowBox[{
    SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.527517132886071*^9, 3.527517140125339*^9}, {
  3.527540548617001*^9, 3.527540554878342*^9}, {3.5384845877568445`*^9, 
  3.538484605806076*^9}, {3.5384847990748158`*^9, 3.53848480143042*^9}, {
  3.5384856414000387`*^9, 3.53848564218004*^9}, {3.538689363377389*^9, 
  3.538689381984453*^9}, {3.5387486912672625`*^9, 3.538748695215489*^9}, {
  3.541814266858469*^9, 3.5418142718817563`*^9}, {3.5427311944769387`*^9, 
  3.54273119503854*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Non-Stance Knee", "Subsection",
 CellChangeTimes->{{3.527540532146779*^9, 3.527540540301477*^9}, {
   3.53848488702777*^9, 3.538484896403387*^9}, 3.5386898813110127`*^9}],

Cell["relative angle of non-stance knee", "Text",
 CellChangeTimes->{{3.538690398220578*^9, 3.5386904024848223`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"outputsNSKnee", "=", 
   RowBox[{
    SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.527540542257499*^9, 3.527540561881515*^9}, 
   3.52754225028292*^9, {3.538484665928582*^9, 3.5384846800778065`*^9}, {
   3.5384848120696383`*^9, 3.5384848142224426`*^9}, 3.5384848813337603`*^9, {
   3.5386901860554433`*^9, 3.5386901945989323`*^9}, {3.5387486986086826`*^9, 
   3.538748702018878*^9}, {3.54181427824212*^9, 3.541814284057453*^9}, {
   3.542731231261803*^9, 3.542731232603406*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Non-Stance foot roll angle", "Subsection",
 CellChangeTimes->{{3.527517127211601*^9, 3.527517129005871*^9}, 
   3.5384849013641953`*^9, {3.5386898445419097`*^9, 3.538689846342013*^9}, {
   3.5418178720986767`*^9, 3.541817878658052*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"outputsNSfoot", "=", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"1", ",", "1", ",", "1", ",", 
     RowBox[{"-", "1"}], ",", 
     RowBox[{"-", "1"}], ",", 
     RowBox[{"-", "1"}]}], "}"}], ".", 
   RowBox[{"Flatten", "[", "q", "]"}]}]}]], "Input",
 CellChangeTimes->{{3.527517132886071*^9, 3.527517140125339*^9}, {
  3.527540548617001*^9, 3.527540554878342*^9}, {3.5384845877568445`*^9, 
  3.538484605806076*^9}, {3.5384847990748158`*^9, 3.53848480143042*^9}, {
  3.5384856414000387`*^9, 3.53848564218004*^9}, {3.538689363377389*^9, 
  3.538689381984453*^9}, {3.5387486912672625`*^9, 3.538748695215489*^9}, {
  3.541814266858469*^9, 3.5418142718817563`*^9}, {3.5418178824272676`*^9, 
  3.541817986375213*^9}, {3.5427312365034122`*^9, 3.5427312445218267`*^9}, {
  3.542731432424157*^9, 3.5427314476809835`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
   SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
  RowBox[{
   SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "+", 
  RowBox[{
   SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "-", 
  RowBox[{
   SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "-", 
  RowBox[{
   SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "-", 
  RowBox[{
   SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}]], "Output",
 CellChangeTimes->{
  3.54273146809942*^9, 3.5427317945219927`*^9, 3.542733698746477*^9, 
   3.5427344130208635`*^9, 3.5427344604908648`*^9, 3.542734587891125*^9, 
   3.5427347303015985`*^9, 3.542734864732589*^9, 3.5427354235134907`*^9, 
   3.542736153940526*^9, 3.5427362585340304`*^9, 3.54273679450209*^9, 
   3.5427368596266346`*^9, 3.5429006568843384`*^9, 3.542902142733135*^9, 
   3.542904628765845*^9, 3.542907084181116*^9, 3.542931219430444*^9, 
   3.542931348695837*^9, 3.542985317141474*^9, 3.5429875087728276`*^9, 
   3.542998115318488*^9, 3.543000005113405*^9, 3.5430104141656933`*^9, 
   3.543010723478385*^9, 3.5430109059788237`*^9, 3.5430794548627944`*^9, 
   3.5430796541993203`*^9, 3.5430803143180633`*^9, 3.543106032370965*^9, 
   3.543106257666851*^9, 3.543319480231065*^9, 3.5433199801506586`*^9, 
   3.543363882188964*^9, 3.5438619115349984`*^9, 3.545265895593074*^9, 
   3.5452666783423166`*^9, 3.545769060230564*^9, 3.5472214458318253`*^9, 
   3.547228549734145*^9, 3.5472294295364666`*^9, 3.547229886138583*^9, 
   3.547229982048069*^9, {3.5472308238452168`*^9, 3.547230839686123*^9}, 
   3.547232259199314*^9, 3.5472423056031733`*^9, 3.5473094038127337`*^9, 
   3.547402794048072*^9, 3.5474032564995227`*^9, 3.547403528827099*^9, 
   3.5474915556899476`*^9, 3.5477686373115497`*^9, 3.54783045850908*^9, 
   3.547899862932786*^9, 3.551541463330018*^9, 3.552650640910757*^9, 
   3.552652984336794*^9, 3.552828546028656*^9, 3.5529326029023685`*^9, 
   3.556318037273128*^9, 3.55632553004416*^9, 3.5563273353446627`*^9, 
   3.556385650894141*^9, 3.55683370502281*^9, 3.58133742819666*^9, 
   3.5880207914305153`*^9, 3.592661595640435*^9, 3.6202309926524234`*^9, 
   3.620231070077165*^9, 3.6202323714142857`*^9, 3.6202361381209188`*^9, 
   3.6202362651106167`*^9, 3.6202375894030323`*^9, 3.6202391381178885`*^9, 
   3.620239701208192*^9, 3.620239990569125*^9, 3.6202406748045416`*^9, 
   3.620241213820185*^9, 3.620256661686816*^9, 3.620257066837816*^9, 
   3.6202579862248163`*^9, 3.6202582974518166`*^9, 3.6202585426518164`*^9, 
   3.6202591480978165`*^9, 3.6202593217568164`*^9, 3.6202601851788163`*^9, 
   3.620260443818816*^9, 3.6202612500588164`*^9, 3.6202614948578167`*^9, 
   3.6202622813038163`*^9, 3.6203021557800136`*^9, 3.6203026895413847`*^9, 
   3.620302953593787*^9, 3.620303404387862*^9, 3.620303608510272*^9, 
   3.6203038707044888`*^9, 3.6203041034307594`*^9, 3.62030479370778*^9, 
   3.6203053563800416`*^9, 3.6203065167930713`*^9, 3.6203078375261316`*^9, 
   3.6203082780041747`*^9, 3.62030889751612*^9, 3.620317994065684*^9, 
   3.620318505125785*^9, 3.6203193494272065`*^9, 3.620761259180049*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Hip Position", "Subsection",
 CellChangeTimes->{{3.5206971864248543`*^9, 3.520697188943389*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"outputsHip", "=", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"ParallelSimplify", "[", 
     RowBox[{
      RowBox[{
       RowBox[{
        SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], 
       "\[LeftDoubleBracket]", 
       RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}], "-", 
      RowBox[{
       RowBox[{
        SubscriptBox["g", "sa"], "[", "\[Theta]", "]"}], 
       "\[LeftDoubleBracket]", 
       RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}]}], "]"}], "}"}], 
   "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}]], "Input",
 CellChangeTimes->{{3.527519011730059*^9, 3.527519021263712*^9}, 
   3.5386906952165656`*^9, {3.5386907415512156`*^9, 3.5386907429192944`*^9}, {
   3.538690816839522*^9, 3.538690818015589*^9}, {3.5387346181523266`*^9, 
   3.5387346755386095`*^9}, {3.5387489985828404`*^9, 
   3.5387490000699253`*^9}, {3.5387491492594585`*^9, 3.538749159163025*^9}, {
   3.538749201418442*^9, 3.5387492044356146`*^9}, {3.538749279761923*^9, 
   3.5387492829111032`*^9}, {3.5387582295448213`*^9, 
   3.5387582472488337`*^9}, {3.538758367974739*^9, 3.538758370476882*^9}, {
   3.5391997279765267`*^9, 3.539199731923334*^9}, {3.53919995184693*^9, 
   3.539199958118141*^9}, 3.539200063231126*^9, {3.5392712167247133`*^9, 
   3.539271245459964*^9}, {3.5392871277309656`*^9, 3.5392871698822393`*^9}, {
   3.5392872960157375`*^9, 3.539287297014139*^9}, {3.5399133343253245`*^9, 
   3.5399133372014894`*^9}, {3.5418142956811175`*^9, 3.5418143007134056`*^9}, 
   3.5418143752696695`*^9, {3.541814504096038*^9, 3.5418145088083076`*^9}, 
   3.5418145468864856`*^9, {3.5425694968374004`*^9, 3.5425694969344063`*^9}, {
   3.542570090539358*^9, 3.542570090675366*^9}, {3.542731479986641*^9, 
   3.542731483590247*^9}, {3.5472291698416133`*^9, 3.5472291699216175`*^9}, 
   3.5472296961187143`*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   FractionBox["508", "625"]}], " ", 
  RowBox[{"Cos", "[", 
   FractionBox[
    RowBox[{
     SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "2"], "]"}], " ", 
  RowBox[{"Sin", "[", 
   RowBox[{
    RowBox[{
     SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
    FractionBox[
     RowBox[{
      SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "2"]}], 
   "]"}]}]], "Output",
 CellChangeTimes->{
  3.5418682479776735`*^9, 3.541870797034217*^9, 3.5418729330542135`*^9, 
   3.542471461961733*^9, 3.5424725660189447`*^9, 3.542480029929946*^9, 
   3.5424840819283247`*^9, 3.5424944571944013`*^9, 3.542542648851213*^9, 
   3.542543015619191*^9, 3.542549732621608*^9, 3.5425566304182606`*^9, 
   3.5425571432020187`*^9, 3.542569274368676*^9, 3.5425693390853777`*^9, 
   3.542569498011468*^9, 3.5425695435350714`*^9, 3.542570091529415*^9, 
   3.542731248406234*^9, {3.5427314769602356`*^9, 3.5427314997674756`*^9}, 
   3.5427317945687933`*^9, 3.5427336987744784`*^9, 3.5427344130608635`*^9, 
   3.5427344605238667`*^9, 3.5427345879311275`*^9, 3.5427347303175993`*^9, 
   3.542734864801593*^9, 3.5427354235604925`*^9, 3.542736153978528*^9, 
   3.542736258577031*^9, 3.542736794544092*^9, 3.5427368596646366`*^9, 
   3.542900661283546*^9, 3.5429021427721376`*^9, 3.5429046287970448`*^9, 
   3.5429070841967163`*^9, 3.542931219454445*^9, 3.542931348728839*^9, 
   3.5429853171644745`*^9, 3.542987508794829*^9, 3.54299811534949*^9, 
   3.543000005144605*^9, 3.543010414191695*^9, 3.543010723511387*^9, 
   3.5430109060098257`*^9, 3.5430794549095945`*^9, 3.5430796542313223`*^9, 
   3.543080314354065*^9, 3.5431060323959665`*^9, 3.5431062576918526`*^9, 
   3.543319480250066*^9, 3.5433199801666594`*^9, 3.543363882207965*^9, 
   3.543861911578001*^9, 3.5452658956420765`*^9, 3.5452666783563175`*^9, 
   3.545769060242565*^9, 3.5472214458588266`*^9, 3.547228549783148*^9, 
   3.547229429571469*^9, 3.5472298861825857`*^9, 3.547229982106072*^9, {
   3.5472308238762183`*^9, 3.547230839719125*^9}, 3.5472322592233157`*^9, 
   3.547242305745175*^9, 3.547309403848736*^9, 3.5474027940990753`*^9, 
   3.547403256522524*^9, 3.547403528880102*^9, 3.547491555743951*^9, 
   3.5477686373495517`*^9, 3.547830458555083*^9, 3.547899862968788*^9, 
   3.5515414633768177`*^9, 3.552650640941759*^9, 3.5526529843727956`*^9, 
   3.552828546064658*^9, 3.55293260292737*^9, 3.5563180373461323`*^9, 
   3.5563255301121635`*^9, 3.556327335399666*^9, 3.556385650958145*^9, 
   3.5568337050580587`*^9, 3.5813374282246614`*^9, 3.5880207914585166`*^9, 
   3.5926615956674366`*^9, 3.620230992678426*^9, 3.6202310700941668`*^9, 
   3.6202323714212866`*^9, 3.6202361381269197`*^9, 3.6202362651296186`*^9, 
   3.620237589417034*^9, 3.6202391381328897`*^9, 3.620239701215193*^9, 
   3.620239990585127*^9, 3.6202406748215437`*^9, 3.6202412138271713`*^9, 
   3.6202566617018166`*^9, 3.6202570668598166`*^9, 3.6202579862348166`*^9, 
   3.6202582974738164`*^9, 3.6202585426598167`*^9, 3.6202591481118164`*^9, 
   3.6202593217698164`*^9, 3.6202601851908164`*^9, 3.6202604438408165`*^9, 
   3.6202612500668163`*^9, 3.6202614948698163`*^9, 3.6202622813208165`*^9, 
   3.6203021557860146`*^9, 3.6203026895503855`*^9, 3.620302953603788*^9, 
   3.6203034043948627`*^9, 3.620303608517273*^9, 3.6203038707114897`*^9, 
   3.62030410343676*^9, 3.620304793719781*^9, 3.620305356387042*^9, 
   3.6203065168040724`*^9, 3.6203078375421333`*^9, 3.620308278014176*^9, 
   3.620308897530121*^9, 3.6203179940776854`*^9, 3.620318505130785*^9, 
   3.620319349433207*^9, 3.620761259188049*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Linearized Hip Position", "Subsubsection",
 CellChangeTimes->{{3.52069721892881*^9, 3.520697223591626*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"outputsHip", "=", 
  RowBox[{"ParallelSimplify", "[", 
   RowBox[{
    RowBox[{"(", 
     RowBox[{
      RowBox[{"Linearize", "[", 
       RowBox[{"#1", ",", 
        RowBox[{"Flatten", "[", "qe", "]"}], ",", 
        RowBox[{"Table", "[", 
         RowBox[{"0", ",", 
          RowBox[{"{", "9", "}"}]}], "]"}]}], "]"}], "&"}], ")"}], "/@", 
    "outputsHip"}], "]"}]}]], "Input",
 CellChangeTimes->{{3.52069723201585*^9, 3.520697274076376*^9}, 
   3.520707794253764*^9, 3.541814527975404*^9, {3.5418145852846823`*^9, 
   3.541814587332799*^9}, {3.5427314865542526`*^9, 3.542731492669463*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   FractionBox["254", "625"]}], " ", 
  RowBox[{"(", 
   RowBox[{
    RowBox[{"2", " ", 
     RowBox[{
      SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "+", 
    RowBox[{
     SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], ")"}]}]], "Output",
 CellChangeTimes->{
  3.5425497359147964`*^9, 3.542556630448261*^9, 3.5425571432120185`*^9, 
   3.5425692743866773`*^9, 3.5425693391043787`*^9, {3.542569536136648*^9, 
   3.5425695449911547`*^9}, 3.542731351803215*^9, {3.542731489097057*^9, 
   3.5427315019982796`*^9}, 3.542731794615593*^9, 3.5427336987944794`*^9, 
   3.5427344131008635`*^9, 3.5427344605638666`*^9, 3.5427345879661293`*^9, 
   3.5427347303286*^9, 3.542734864861596*^9, 3.5427354235954947`*^9, 
   3.5427361540195303`*^9, 3.5427362586080327`*^9, 3.5427367945830946`*^9, 
   3.5427368597046385`*^9, 3.5429006643255515`*^9, 3.542902142803139*^9, 
   3.542904628812645*^9, 3.542907084212316*^9, 3.542931219471446*^9, 
   3.5429313487548404`*^9, 3.542985317182476*^9, 3.54298750881283*^9, 
   3.542998115367491*^9, 3.543000005160205*^9, 3.5430104142176967`*^9, 
   3.5430107235383887`*^9, 3.543010906033827*^9, 3.543079455003195*^9, 
   3.5430796542573233`*^9, 3.543080314392068*^9, 3.5431060324149675`*^9, 
   3.5431062577108536`*^9, 3.5433194802610664`*^9, 3.5433199801806602`*^9, 
   3.543363882217965*^9, 3.543861911618003*^9, 3.5452658956770787`*^9, 
   3.5452666783653173`*^9, 3.5457690602485657`*^9, 3.5472214458988285`*^9, 
   3.5472285498311505`*^9, 3.547229429608471*^9, 3.5472298861935863`*^9, 
   3.547229982161075*^9, {3.54723082390022*^9, 3.547230839743126*^9}, 
   3.547232259241317*^9, 3.547242305860175*^9, 3.5473094038787374`*^9, 
   3.5474027941440773`*^9, 3.5474032565495253`*^9, 3.547403528930105*^9, 
   3.5474915557929535`*^9, 3.5477686373785534`*^9, 3.547830458624087*^9, 
   3.54789986299879*^9, 3.551541463408018*^9, 3.552650640969761*^9, 
   3.552652984400797*^9, 3.5528285461106606`*^9, 3.552932602944371*^9, 
   3.5563180374081354`*^9, 3.5563255301781673`*^9, 3.556327335452669*^9, 
   3.5563856510201483`*^9, 3.556833705084621*^9, 3.581337428268664*^9, 
   3.5880207915045195`*^9, 3.592661595680437*^9, 3.620230992686427*^9, 
   3.6202310701001673`*^9, 3.6202323714262867`*^9, 3.62023613813192*^9, 
   3.620236265136619*^9, 3.6202375894240346`*^9, 3.6202391381398907`*^9, 
   3.620239701220193*^9, 3.6202399905911274`*^9, 3.620240674829544*^9, 
   3.6202412138331594`*^9, 3.620256661707816*^9, 3.6202570668688164`*^9, 
   3.620257986245816*^9, 3.6202582974818163`*^9, 3.620258542667816*^9, 
   3.6202591481198163`*^9, 3.6202593217748165`*^9, 3.6202601851958165`*^9, 
   3.6202604438488164`*^9, 3.6202612500748167`*^9, 3.620261494877816*^9, 
   3.6202622813278165`*^9, 3.620302155792015*^9, 3.620302689558386*^9, 
   3.620302953612789*^9, 3.620303404401863*^9, 3.620303608524274*^9, 
   3.62030387071649*^9, 3.62030410344076*^9, 3.620304793725782*^9, 
   3.620305356392043*^9, 3.6203065168110733`*^9, 3.6203078375491333`*^9, 
   3.6203082780211763`*^9, 3.620308897536122*^9, 3.6203179940856857`*^9, 
   3.6203185051357856`*^9, 3.6203193494382076`*^9, 3.6207612591960487`*^9}]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Combine Outputs", "Subsection",
 CellChangeTimes->{{3.528115166738313*^9, 3.528115169609477*^9}, 
   3.5386926823882256`*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"outputs", "=", 
  RowBox[{"{", 
   RowBox[{
   "outputsSTKnee", ",", "outputsNSKnee", ",", "outputsNSLeg", ",", 
    "outputsTorso", ",", "outputsNSfoot"}], "}"}]}]], "Input",
 CellChangeTimes->{{3.5275415458126264`*^9, 3.5275415621225595`*^9}, {
   3.5377233107073865`*^9, 3.5377233149349937`*^9}, {3.5377264840866785`*^9, 
   3.5377264863468075`*^9}, {3.5377412779480343`*^9, 
   3.5377412811872196`*^9}, {3.537798811970521*^9, 3.5377988169313297`*^9}, {
   3.538484764005954*^9, 3.5384847749571733`*^9}, {3.538485223115761*^9, 
   3.538485279135459*^9}, {3.5386927229205437`*^9, 3.5386927360152926`*^9}, {
   3.5418170325286565`*^9, 3.541817079150323*^9}, 3.5418178958500357`*^9, {
   3.541817998421902*^9, 3.5418180037492065`*^9}, {3.541872907298568*^9, 
   3.541872912524577*^9}, {3.5418729485294404`*^9, 3.541872973442684*^9}, {
   3.5418730267791777`*^9, 3.54187302813638*^9}, {3.5424093905391226`*^9, 
   3.5424093907951374`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{
    SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], ",", 
   RowBox[{
    SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], ",", 
   RowBox[{
    RowBox[{"-", 
     RowBox[{
      SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "-", 
    RowBox[{
     SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "-", 
    RowBox[{
     SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "+", 
    RowBox[{
     SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "+", 
    FractionBox[
     RowBox[{
      SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "2"]}], ",", 
   RowBox[{
    RowBox[{
     SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
    RowBox[{
     SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "+", 
    RowBox[{
     SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], ",", 
   RowBox[{
    RowBox[{
     SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "+", 
    RowBox[{
     SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "+", 
    RowBox[{
     SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "-", 
    RowBox[{
     SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "-", 
    RowBox[{
     SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "-", 
    RowBox[{
     SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}]}], "}"}]], "Output",
 CellChangeTimes->{{3.5418729743942857`*^9, 3.541873028713581*^9}, 
   3.5424714620397334`*^9, 3.542472566096945*^9, 3.542480030009946*^9, 
   3.5424840819751244`*^9, 3.542494457259405*^9, 3.5425426489112167`*^9, 
   3.542543015687195*^9, 3.542549744509288*^9, 3.542550421006981*^9, 
   3.5425505202516575`*^9, 3.542556630468261*^9, 3.5425571432320185`*^9, 
   3.5425692744096785`*^9, 3.54256933913038*^9, 3.5425695481243343`*^9, 
   3.5427313569512243`*^9, {3.542731506194687*^9, 3.5427315325275335`*^9}, 
   3.5427317948807936`*^9, 3.542733698817481*^9, 3.542734413140864*^9, 
   3.5427344605978675`*^9, 3.542734588010129*^9, 3.5427347303406005`*^9, 
   3.5427348649266*^9, 3.542735423633497*^9, 3.5427361540535326`*^9, 
   3.5427362586440353`*^9, 3.5427367946230965`*^9, 3.5427368597486415`*^9, {
   3.542900671860365*^9, 3.5429006922652006`*^9}, 3.542902142839141*^9, 
   3.5429046288282447`*^9, 3.542907084243516*^9, 3.5429312194934473`*^9, 
   3.5429313487848425`*^9, 3.542985317203477*^9, 3.5429875088338313`*^9, 
   3.542998115387492*^9, 3.543000005175805*^9, 3.543010414252699*^9, 
   3.5430107235683904`*^9, 3.5430109060568285`*^9, 3.5430794550499945`*^9, 
   3.543079654285325*^9, 3.543080314420069*^9, 3.5431060324359684`*^9, 
   3.543106257730855*^9, 3.543319480274067*^9, 3.543319980191661*^9, 
   3.543363882230966*^9, 3.5438619116590056`*^9, 3.545265895713081*^9, 
   3.5452666783753185`*^9, 3.545769060256566*^9, 3.54722144592183*^9, 
   3.547228549883154*^9, 3.5472294296504736`*^9, 3.547229886206587*^9, 
   3.547229982213078*^9, {3.547230823924221*^9, 3.5472308397681274`*^9}, 
   3.5472322592593174`*^9, 3.547242305955175*^9, 3.5473094039357405`*^9, 
   3.5474027942320824`*^9, 3.5474032565695267`*^9, 3.547403528982108*^9, 
   3.5474915558439565`*^9, 3.547768637408555*^9, 3.547830458663089*^9, 
   3.5478998630287914`*^9, 3.551541463486018*^9, 3.552650640993762*^9, 
   3.5526529844327993`*^9, 3.552828546137662*^9, 3.552932602962372*^9, 
   3.5563180374631386`*^9, 3.5563255302331705`*^9, 3.556327335506672*^9, 
   3.5563856510741515`*^9, 3.556833705111574*^9, 3.581337428308666*^9, 
   3.5880207915665226`*^9, 3.5926615957034388`*^9, 3.6202309926934276`*^9, 
   3.620231070107168*^9, 3.620232371431288*^9, 3.6202361381369205`*^9, 
   3.6202362651416197`*^9, 3.6202375894320354`*^9, 3.6202391381468916`*^9, 
   3.6202397012251935`*^9, 3.620239990597128*^9, 3.6202406748375454`*^9, 
   3.620241213839147*^9, 3.620256661714816*^9, 3.620257066877816*^9, 
   3.6202579862568164`*^9, 3.6202582974888163`*^9, 3.620258542674816*^9, 
   3.620259148127816*^9, 3.620259321780816*^9, 3.6202601852018166`*^9, 
   3.6202604438548164`*^9, 3.620261250089816*^9, 3.6202614948858166`*^9, 
   3.6202622813358164`*^9, 3.620302155797015*^9, 3.620302689565387*^9, 
   3.6203029536197896`*^9, 3.620303404407864*^9, 3.6203036085322742`*^9, 
   3.6203038707204905`*^9, 3.6203041034447603`*^9, 3.6203047937327824`*^9, 
   3.620305356397043*^9, 3.6203065168180737`*^9, 3.6203078375551343`*^9, 
   3.620308278027177*^9, 3.6203088975421224`*^9, 3.6203179940926867`*^9, 
   3.620318505139786*^9, 3.6203193494422083`*^9, 3.6207612592030487`*^9}]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["feedback control", "Section",
 CellChangeTimes->{{3.513532015025627*^9, 3.513532018772655*^9}}],

Cell["we will make use of the chain rule as much as possible", "Text",
 CellChangeTimes->{{3.513534246341532*^9, 3.513534256526356*^9}, {
  3.513534308611278*^9, 3.513534359658739*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{"\[Chi]", "=", 
   RowBox[{"Join", "[", 
    RowBox[{"q", ",", "dq"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{"d\[Chi]", "=", 
   RowBox[{"D", "[", 
    RowBox[{"\[Chi]", ",", "t"}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.513533323577435*^9, 3.513533331092033*^9}, {
  3.513533381181343*^9, 3.513533384041068*^9}, {3.513534180527118*^9, 
  3.513534186497912*^9}, {3.513534242697953*^9, 3.513534243136149*^9}, {
  3.542549960773658*^9, 3.5425499664209805`*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   SubscriptBox["p", "hip"], "=", " ", 
   RowBox[{
    RowBox[{
     SubscriptBox["g", "ship"], "[", "\[Theta]", "]"}], 
    "\[LeftDoubleBracket]", 
    RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}]}], ";"}], "\n", 
 RowBox[{
  RowBox[{
   SubscriptBox["p", "hipdot"], "=", 
   RowBox[{"ParallelSimplify", "[", 
    RowBox[{"D", "[", 
     RowBox[{
      SubscriptBox["p", "hip"], ",", "t"}], "]"}], "]"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.5418677518567996`*^9, 3.541867764212021*^9}, 
   3.5418677993276825`*^9, 3.5418678599337893`*^9, 3.5425499207583685`*^9, {
   3.5425696091458244`*^9, 3.5425696344872737`*^9}, 3.5430988121938877`*^9, {
   3.5472299573106537`*^9, 3.54722995951578*^9}}],

Cell[BoxData[{
 RowBox[{
  RowBox[{
   RowBox[{
    SubscriptBox["deltap", "hip"], " ", "=", " ", 
    RowBox[{"ParallelSimplify", "[", "outputsHip", "]"}]}], ";"}], 
  "\[IndentingNewLine]", 
  RowBox[{"(*", 
   RowBox[{
    RowBox[{
     SubscriptBox["deltap", "hipdot"], "  ", "=", " ", 
     RowBox[{"ParallelSimplify", "[", 
      RowBox[{"D", "[", 
       RowBox[{
        SubscriptBox["deltap", "hip"], ",", "t"}], "]"}], "]"}]}], ";"}], 
   "*)"}]}], "\[IndentingNewLine]", 
 RowBox[{
  RowBox[{
   SubscriptBox["deltap", "hipdot"], " ", "=", " ", 
   RowBox[{
    SubscriptBox["\[PartialD]", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"Flatten", "[", "q", "]"}], ",", "1"}], "}"}]], 
    "outputsHip"}]}], ";"}]}], "Input",
 CellChangeTimes->{{3.520119821955995*^9, 3.5201198226710362`*^9}, {
   3.5201773456230736`*^9, 3.52017734590409*^9}, 3.541817126077007*^9, {
   3.541817168530435*^9, 3.541817169722503*^9}, 3.5418172314960365`*^9, {
   3.541817283518012*^9, 3.541817293021556*^9}, {3.5418677371771736`*^9, 
   3.541867744883587*^9}, 3.5418678157233114`*^9, {3.5418678648009977`*^9, 
   3.5418678661426*^9}, 3.542549928791828*^9, {3.5425499818768644`*^9, 
   3.5425499848290334`*^9}, {3.5474027463453436`*^9, 
   3.5474027532607393`*^9}, {3.547403064320531*^9, 3.547403111617236*^9}, {
   3.5474035013675284`*^9, 3.547403517212435*^9}, {3.547403602136292*^9, 
   3.5474036075616026`*^9}}],

Cell["time-invariant parameterization:", "Text",
 CellChangeTimes->{{3.513532550684887*^9, 3.513532556202501*^9}, {
  3.513532644709088*^9, 3.513532645133727*^9}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"fb", "=", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"\[Sigma]", "[", "t", "]"}], "\[Rule]", 
    FractionBox[
     RowBox[{
      SubscriptBox["deltap", "hip"], "-", 
      RowBox[{"p", "[", "1", "]"}]}], 
     RowBox[{"a", "[", 
      RowBox[{"1", ",", "1"}], "]"}]]}], "}"}]}]], "Input",
 CellChangeTimes->{{3.513532403934621*^9, 3.513532467910504*^9}, {
   3.513532514383117*^9, 3.513532544860577*^9}, {3.51353289142399*^9, 
   3.513532893553784*^9}, {3.513533036340894*^9, 3.513533036810536*^9}, {
   3.513533928303517*^9, 3.513533928507984*^9}, {3.513534006139525*^9, 
   3.513534007303687*^9}, {3.51394646342299*^9, 3.513946465979686*^9}, {
   3.513946518081392*^9, 3.513946518637576*^9}, {3.515336393379112*^9, 
   3.515336393434178*^9}, {3.5158551745864763`*^9, 3.515855177569647*^9}, 
   3.5201773758658037`*^9, 3.520186024265464*^9, 3.520443576003234*^9, 
   3.5204490394407244`*^9, 3.5207126311878996`*^9, 3.5223564440908136`*^9, 
   3.5224291342898664`*^9, 3.5418171514924603`*^9, {3.541867770374032*^9, 
   3.5418677711852336`*^9}, 3.5425499335671015`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"\[Sigma]", "[", "t", "]"}], "\[Rule]", 
   FractionBox[
    RowBox[{
     RowBox[{"-", 
      RowBox[{"p", "[", "1", "]"}]}], "-", 
     RowBox[{
      FractionBox["254", "625"], " ", 
      RowBox[{"(", 
       RowBox[{
        RowBox[{"2", " ", 
         RowBox[{
          SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "+", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], ")"}]}]}], 
    RowBox[{"a", "[", 
     RowBox[{"1", ",", "1"}], "]"}]]}], "}"}]], "Output",
 CellChangeTimes->{
  3.542549933927122*^9, 3.542556630578261*^9, 3.542557143332019*^9, 
   3.5427315496563635`*^9, 3.5427317949587936`*^9, 3.5427336988664837`*^9, 
   3.5427344132208643`*^9, 3.542734460674872*^9, 3.542734588091134*^9, 
   3.542734730379603*^9, 3.5427348650146027`*^9, 3.542735423701501*^9, 
   3.5427361541215363`*^9, 3.542736258712039*^9, 3.542736794715102*^9, 
   3.542736859819646*^9, 3.5429007472191706`*^9, 3.542902142894144*^9, 
   3.542904628875045*^9, 3.542907084274716*^9, 3.54293121954145*^9, 
   3.542931348844846*^9, 3.54298531724948*^9, 3.542987508881834*^9, 
   3.542998115460496*^9, 3.543000005238205*^9, 3.5430104143157024`*^9, 
   3.543010723666396*^9, 3.5430109061178317`*^9, 3.543079455127995*^9, 
   3.54307965436333*^9, 3.5430803144930735`*^9, 3.5431062799191236`*^9, 
   3.54331948032007*^9, 3.5433199802286625`*^9, 3.5433638822729683`*^9, 
   3.54386191173701*^9, 3.545265895805086*^9, 3.5452666784103203`*^9, 
   3.5457690602875676`*^9, 3.547221445989834*^9, 3.5472285500441628`*^9, 
   3.5472294297614794`*^9, 3.5472298863205934`*^9, 3.547229982357086*^9, {
   3.5472308240292273`*^9, 3.5472308398391314`*^9}, 3.5472322593213215`*^9, 
   3.547242306275175*^9, 3.547309404010745*^9, 3.5474027943610897`*^9, 
   3.547403256636531*^9, 3.5474035290791135`*^9, 3.547491555933962*^9, 
   3.54776863750156*^9, 3.5478304587460938`*^9, 3.547899863129797*^9, 
   3.5515414635640182`*^9, 3.5526506410617657`*^9, 3.552652984499803*^9, 
   3.5528285462126665`*^9, 3.5529326030323763`*^9, 3.5563180375971465`*^9, 
   3.5563255303681784`*^9, 3.55632733565168*^9, 3.5563856511861577`*^9, 
   3.556833705230879*^9, 3.581337428430673*^9, 3.5880207916545277`*^9, 
   3.5926615957834435`*^9, 3.6202309927564335`*^9, 3.6202310701671743`*^9, 
   3.6202323714802923`*^9, 3.620236138183925*^9, 3.6202362651936245`*^9, 
   3.6202375894890413`*^9, 3.620239138202897*^9, 3.6202397012791986`*^9, 
   3.6202399906531334`*^9, 3.620240674894551*^9, 3.620241213892041*^9, 
   3.6202566617698164`*^9, 3.6202570669478164`*^9, 3.6202579863148165`*^9, 
   3.6202582975488167`*^9, 3.6202585427428164`*^9, 3.6202591481958165`*^9, 
   3.620259321832816*^9, 3.620260185252816*^9, 3.6202604439098167`*^9, 
   3.6202612501518164`*^9, 3.6202614949428167`*^9, 3.620262281391816*^9, 
   3.6203021558490205`*^9, 3.6203026896343937`*^9, 3.620302953676795*^9, 
   3.6203034044648695`*^9, 3.6203036085922804`*^9, 3.6203038707694955`*^9, 
   3.6203041034927654`*^9, 3.620304793787788*^9, 3.6203053564480486`*^9, 
   3.6203065168730793`*^9, 3.6203078376111403`*^9, 3.620308278086183*^9, 
   3.6203088976021285`*^9, 3.6203179941496925`*^9, 3.620318505190791*^9, 
   3.620319349490213*^9, 3.620761259263049*^9}]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"\[Sigma]y", "=", 
   RowBox[{
    RowBox[{"\[Sigma]", "[", "t", "]"}], "/.", "fb"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.5158620968964095`*^9, 3.5158621015066733`*^9}, {
   3.51586213624666*^9, 3.515862144043106*^9}, 3.5158641571459265`*^9, 
   3.541817172393656*^9}],

Cell[CellGroupData[{

Cell[TextData[{
 "calculate ",
 Cell[BoxData[
  FormBox[
   SubscriptBox["y", "d"], TraditionalForm]]],
 " and its derivatives"
}], "Subsubsection",
 CellChangeTimes->{{3.513534419031216*^9, 3.513534436458221*^9}, {
  3.515862063545502*^9, 3.515862065419609*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"HumanFunction", "[", "i_", "]"}], ":=", 
    RowBox[{
     FractionBox[
      RowBox[{
       RowBox[{
        RowBox[{"a", "[", 
         RowBox[{"i", ",", "1"}], "]"}], " ", 
        RowBox[{"Cos", "[", 
         RowBox[{
          RowBox[{"a", "[", 
           RowBox[{"i", ",", "2"}], "]"}], " ", 
          RowBox[{"\[Sigma]", "[", "t", "]"}]}], "]"}]}], "+", 
       RowBox[{
        RowBox[{"a", "[", 
         RowBox[{"i", ",", "3"}], "]"}], " ", 
        RowBox[{"Sin", "[", 
         RowBox[{
          RowBox[{"a", "[", 
           RowBox[{"i", ",", "2"}], "]"}], " ", 
          RowBox[{"\[Sigma]", "[", "t", "]"}]}], "]"}]}]}], 
      RowBox[{"Exp", "[", 
       RowBox[{
        RowBox[{"a", "[", 
         RowBox[{"i", ",", "4"}], "]"}], 
        RowBox[{"\[Sigma]", "[", "t", "]"}]}], "]"}]], "+", 
     RowBox[{"a", "[", 
      RowBox[{"i", ",", "5"}], "]"}]}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.515860352077612*^9, 3.5158603885236964`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{
     SubscriptBox["y", 
      RowBox[{"d", ",", "1"}]], " ", "=", " ", 
     RowBox[{"a", "[", 
      RowBox[{"1", ",", "1"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    SubscriptBox["y", 
     RowBox[{"d", ",", "2"}]], " ", "=", " ", 
    RowBox[{
     RowBox[{"Transpose", "[", 
      RowBox[{"{", 
       RowBox[{"Table", "[", 
        RowBox[{
         RowBox[{"HumanFunction", "[", "i", "]"}], ",", 
         RowBox[{"{", 
          RowBox[{"i", ",", " ", "2", ",", 
           RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}], "}"}], "]"}], "/.", 
     "fb"}]}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.515872287951982*^9, 3.5158723015107574`*^9}, {
   3.5158723371567965`*^9, 3.5158723885397353`*^9}, {3.515886208937134*^9, 
   3.51588621787595*^9}, {3.5158865763305807`*^9, 3.515886577094982*^9}, {
   3.516754046543599*^9, 3.5167540468006134`*^9}, {3.5418171856264133`*^9, 
   3.5418171931528435`*^9}, 3.541817853189595*^9, {3.541873185268257*^9, 
   3.54187319278747*^9}, {3.5424715037230062`*^9, 3.542471518199832*^9}, {
   3.542549948413951*^9, 3.542549954974326*^9}, {3.542738328330385*^9, 
   3.5427383289803867`*^9}, {3.5429009712667646`*^9, 3.542900984230387*^9}, 
   3.5429020455253067`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{
     SubscriptBox["Dy", 
      RowBox[{"d", ",", "1"}]], "=", 
     RowBox[{
      SubscriptBox["\[PartialD]", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Flatten", "[", "\[Chi]", "]"}], ",", "1"}], "}"}]], 
      RowBox[{"Flatten", "[", 
       SubscriptBox["y", 
        RowBox[{"d", ",", "1"}]], "]"}]}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     SubscriptBox["Dy", 
      RowBox[{"d", ",", "2"}]], "=", 
     RowBox[{
      SubscriptBox["\[PartialD]", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Flatten", "[", "\[Chi]", "]"}], ",", "1"}], "}"}]], 
      RowBox[{"Flatten", "[", 
       SubscriptBox["y", 
        RowBox[{"d", ",", "2"}]], "]"}]}]}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533175133389*^9, 3.513533227600235*^9}, {
   3.513534447833279*^9, 3.513534448428582*^9}, {3.513534581373526*^9, 
   3.51353459872282*^9}, {3.513534853366941*^9, 3.513534855172635*^9}, {
   3.513874463242996*^9, 3.513874465281417*^9}, {3.5158616236643424`*^9, 
   3.5158616650997124`*^9}, {3.5158617380638857`*^9, 3.5158617555558863`*^9}, 
   3.515862210846927*^9, {3.5158724149302444`*^9, 3.5158724662411795`*^9}, {
   3.5418172137210197`*^9, 3.5418172196563597`*^9}, {3.542902085804579*^9, 
   3.542902095492196*^9}, 3.5429021334782624`*^9, {3.620231018527011*^9, 
   3.620231027901948*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{
     SubscriptBox["DLfy", 
      RowBox[{"d", ",", "1"}]], "=", 
     RowBox[{
      SubscriptBox["\[PartialD]", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Flatten", "[", "\[Chi]", "]"}], ",", "1"}], "}"}]], 
      RowBox[{"Flatten", "[", 
       RowBox[{
        SubscriptBox["Dy", 
         RowBox[{"d", ",", "1"}]], ".", "d\[Chi]"}], "]"}]}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     SubscriptBox["DLfy", 
      RowBox[{"d", ",", "2"}]], "=", 
     RowBox[{
      SubscriptBox["\[PartialD]", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"Flatten", "[", "\[Chi]", "]"}], ",", "1"}], "}"}]], 
      RowBox[{"Flatten", "[", 
       RowBox[{
        SubscriptBox["Dy", 
         RowBox[{"d", ",", "2"}]], ".", "d\[Chi]"}], "]"}]}]}], ";"}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5158617931210346`*^9, 3.5158618378455925`*^9}, 
   3.5158620205530434`*^9, 3.515862208155773*^9, {3.515872496206894*^9, 
   3.5158725099996824`*^9}, {3.5418172280728407`*^9, 3.541817229040896*^9}, {
   3.620232136702817*^9, 3.6202321391090574`*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["calculate actual kinematics outputs and Jacobians", "Subsubsection",
 CellChangeTimes->{{3.513532922993929*^9, 3.513532938890856*^9}, {
  3.513534921064935*^9, 3.513534931010012*^9}, {3.620237099663063*^9, 
  3.6202371559966965`*^9}, {3.6202372000120974`*^9, 3.620237230662162*^9}, {
  3.620237262806376*^9, 3.6202372749435897`*^9}, {3.6202375139044833`*^9, 
  3.620237519293022*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    SubscriptBox["y", 
     RowBox[{"a", ",", "1"}]], "=", 
    RowBox[{
     SubscriptBox["\[PartialD]", "t"], "outputsHip"}]}], "*)"}], 
  "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{"outputs2", " ", "=", " ", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        SubscriptBox["p", "COM"], "\[LeftDoubleBracket]", "1", 
        "\[RightDoubleBracket]"}], ",", 
       RowBox[{
        SubscriptBox["p", "COM"], "\[LeftDoubleBracket]", "2", 
        "\[RightDoubleBracket]"}], ",", "outputsTorso", ",", 
       RowBox[{
        RowBox[{
         SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], 
        "\[LeftDoubleBracket]", 
        RowBox[{"1", ",", "4"}], "\[RightDoubleBracket]"}], ",", 
       RowBox[{
        RowBox[{
         SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], 
        "\[LeftDoubleBracket]", 
        RowBox[{"3", ",", "4"}], "\[RightDoubleBracket]"}], ",", 
       "outputsNSfoot"}], "}"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{
     SubscriptBox["y", 
      RowBox[{"a", ",", "2"}]], "=", 
     RowBox[{"Transpose", "[", 
      RowBox[{"{", 
       RowBox[{"Table", "[", 
        RowBox[{"outputs2", "\[LeftDoubleBracket]", 
         RowBox[{"1", ";;", "All"}], "\[RightDoubleBracket]"}], "]"}], "}"}], 
      "]"}]}], ";"}]}]}]], "Input",
 CellChangeTimes->{{3.513532586333204*^9, 3.513532677723161*^9}, {
   3.513532815648106*^9, 3.51353282124899*^9}, {3.513532861207259*^9, 
   3.513532869009141*^9}, {3.513532899901752*^9, 3.513532900419178*^9}, {
   3.51353311611145*^9, 3.513533116605757*^9}, 3.515521088606793*^9, {
   3.5155211643341246`*^9, 3.5155211667002597`*^9}, {3.5158526171702003`*^9, 
   3.515852621396442*^9}, {3.5158548842498703`*^9, 3.5158548875960617`*^9}, {
   3.5158551932005405`*^9, 3.5158551957126846`*^9}, {3.5158593451740203`*^9, 
   3.515859367792314*^9}, 3.51586024539751*^9, {3.5158611465420523`*^9, 
   3.515861146589055*^9}, 3.5158681409047847`*^9, {3.515869758310295*^9, 
   3.5158697588093233`*^9}, {3.515869821362901*^9, 3.515869822510967*^9}, {
   3.5158725172250957`*^9, 3.515872573737328*^9}, 3.5158863481049786`*^9, {
   3.515886571837773*^9, 3.5158865734445753`*^9}, {3.51595325150783*^9, 
   3.5159532575301747`*^9}, {3.5167083309077144`*^9, 
   3.5167083312677355`*^9}, {3.5167110381765614`*^9, 3.5167110528944035`*^9}, 
   3.5167111385673037`*^9, {3.5201093866961327`*^9, 3.520109388523237*^9}, 
   3.5201094274054613`*^9, 3.5201773866844225`*^9, {3.520437239317703*^9, 
   3.5204372535225153`*^9}, {3.5204490557876596`*^9, 
   3.5204490607579436`*^9}, {3.5207159029790354`*^9, 3.520715937276997*^9}, 
   3.541817245750852*^9, 3.5418172995169272`*^9, {3.541867891742245*^9, 
   3.5418678924130464`*^9}, 3.542471618008807*^9, 3.542549990660367*^9, {
   3.5429009324850965`*^9, 3.5429009466031213`*^9}, 3.547403543948964*^9, {
   3.5474035759387937`*^9, 3.547403591363676*^9}, {3.6202364264907527`*^9, 
   3.6202364301051145`*^9}, {3.620236562316334*^9, 3.620236578684971*^9}, {
   3.62023665408751*^9, 3.6202366693520365`*^9}, {3.620236849311031*^9, 
   3.620236855654665*^9}, {3.6202368885359526`*^9, 3.620236891920291*^9}, {
   3.6202369278348827`*^9, 3.620236956721771*^9}, {3.6202370220213003`*^9, 
   3.6202370255976577`*^9}, {3.620237284663562*^9, 3.6202372857196674`*^9}, {
   3.620237441701264*^9, 3.620237504902583*^9}, {3.6202380502981176`*^9, 
   3.6202381249655833`*^9}, 3.620238589182*^9, {3.620238763556436*^9, 
   3.620238854526532*^9}, {3.62023976179325*^9, 3.6202397628403544`*^9}, 
   3.620239888891958*^9, 3.620240528380901*^9, 3.6202586561288166`*^9, {
   3.6202603116378164`*^9, 3.6202603403488164`*^9}, {3.6202606966948166`*^9, 
   3.6202606971028166`*^9}, {3.6202607770338163`*^9, 3.620260785240816*^9}, {
   3.6202608536668167`*^9, 3.620260897200816*^9}, 3.620260945398816*^9, {
   3.6202610861648164`*^9, 3.6202610899328165`*^9}, {3.6202611330348167`*^9, 
   3.620261152983816*^9}, {3.6203020018756247`*^9, 3.62030203083652*^9}, {
   3.620303278279252*^9, 3.6203032782812524`*^9}, {3.620306182187614*^9, 
   3.620306182339629*^9}, {3.6203062663200264`*^9, 3.620306266479042*^9}, {
   3.6203064099203854`*^9, 3.6203064134967427`*^9}, {3.6203072720885935`*^9, 
   3.620307344881872*^9}, {3.6203074482182045`*^9, 3.620307506128995*^9}}],

Cell[BoxData[""], "Input",
 CellChangeTimes->{{3.620307206116997*^9, 3.62030727036042*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    SubscriptBox["p", "COM"], "\[LeftDoubleBracket]", "1", 
    "\[RightDoubleBracket]"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     SubscriptBox["g", "nsa"], "[", "\[Theta]", "]"}], "\[LeftDoubleBracket]",
     "1", "\[RightDoubleBracket]"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.6202625428608165`*^9, 3.6202625541178164`*^9}, 
   3.620302430249458*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{
     SubscriptBox["Dy", 
      RowBox[{"a", ",", "1"}]], "=", 
     RowBox[{"ParallelSimplify", "[", 
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", "\[Chi]", "]"}], ",", "1"}], "}"}]], 
       RowBox[{"Flatten", "[", 
        SubscriptBox["y", 
         RowBox[{"a", ",", "1"}]], "]"}]}], "]"}]}], ";"}], "*)"}], 
  "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{
     SubscriptBox["\[Chi]", "n"], "=", 
     RowBox[{"Join", "[", 
      RowBox[{"qe", ",", "dqe"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     SubscriptBox["d\[Chi]", "n"], "=", 
     RowBox[{"D", "[", 
      RowBox[{
       SubscriptBox["\[Chi]", "n"], ",", "t"}], "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     SubscriptBox["Dy", 
      RowBox[{"a", ",", "2"}]], "=", 
     RowBox[{"ParallelSimplify", "[", 
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", 
           SubscriptBox["\[Chi]", "n"], "]"}], ",", "1"}], "}"}]], 
       RowBox[{"Flatten", "[", 
        SubscriptBox["y", 
         RowBox[{"a", ",", "2"}]], "]"}]}], "]"}]}], ";"}]}]}]], "Input",
 CellChangeTimes->{{3.513533234344025*^9, 3.5135333201722*^9}, {
   3.513533374269628*^9, 3.513533375964947*^9}, 3.513534856986833*^9, 
   3.513874036445271*^9, {3.513947979870945*^9, 3.513948005409799*^9}, 
   3.515521160512906*^9, 3.5158669774602394`*^9, {3.515872580275702*^9, 
   3.515872610360423*^9}, {3.5418173419473543`*^9, 3.541817342490385*^9}, {
   3.541818019486107*^9, 3.5418180263655005`*^9}, {3.547403480977362*^9, 
   3.5474034890178223`*^9}, 3.6202364324583497`*^9, 3.6202586780628166`*^9, {
   3.620302403161749*^9, 3.6203024142418575`*^9}, {3.6203025720326347`*^9, 
   3.6203025834557767`*^9}, {3.6203032059820232`*^9, 
   3.6203032065190773`*^9}, {3.620303289897414*^9, 3.620303298098234*^9}, {
   3.620303484312854*^9, 3.620303505986021*^9}, {3.6203037236967897`*^9, 
   3.6203037527626963`*^9}, {3.620303946405058*^9, 3.620304001178535*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{
     SubscriptBox["DLfy", 
      RowBox[{"a", ",", "1"}]], "=", 
     RowBox[{"ParallelSimplify", "[", 
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", "\[Chi]", "]"}], ",", "1"}], "}"}]], 
       RowBox[{"Flatten", "[", 
        RowBox[{
         SubscriptBox["Dy", 
          RowBox[{"a", ",", "1"}]], ".", "d\[Chi]"}], "]"}]}], "]"}]}], ";"}],
    "*)"}], "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{
     SubscriptBox["DLfy", 
      RowBox[{"a", ",", "2"}]], "=", 
     RowBox[{"ParallelSimplify", "[", 
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", 
           SubscriptBox["\[Chi]", "n"], "]"}], ",", "1"}], "}"}]], 
       RowBox[{"Flatten", "[", 
        RowBox[{
         SubscriptBox["Dy", 
          RowBox[{"a", ",", "2"}]], ".", 
         SubscriptBox["d\[Chi]", "n"]}], "]"}]}], "]"}]}], ";"}], 
   "\[IndentingNewLine]"}]}]], "Input",
 CellChangeTimes->{{3.513533411525342*^9, 3.513533467774484*^9}, {
   3.513534859343821*^9, 3.513534864828146*^9}, {3.513874068222587*^9, 
   3.513874090913892*^9}, {3.513874132914815*^9, 3.513874149954311*^9}, {
   3.513874244874198*^9, 3.513874245301785*^9}, {3.513947988668254*^9, 
   3.513948001956114*^9}, {3.515521142307864*^9, 3.5155211535195055`*^9}, {
   3.515861859950857*^9, 3.515861881451087*^9}, {3.515861991803399*^9, 
   3.5158620021649914`*^9}, {3.5158656112430964`*^9, 3.515865614533284*^9}, {
   3.515872634222788*^9, 3.5158726502537045`*^9}, {3.5201204072844744`*^9, 
   3.52012040879156*^9}, {3.541817343923467*^9, 3.5418173443544917`*^9}, {
   3.5418180334619064`*^9, 3.541818035685034*^9}, 3.620236435130617*^9, {
   3.6202593989688168`*^9, 3.6202593994358163`*^9}, 3.620259877457816*^9, {
   3.620302585623994*^9, 3.620302590225454*^9}, {3.6203028487933083`*^9, 
   3.6203028537148*^9}, {3.620303301714596*^9, 3.620303307730197*^9}, {
   3.6203035078342056`*^9, 3.6203035127616982`*^9}, {3.620303743961816*^9, 
   3.620303756938113*^9}}]
}, Open  ]],

Cell[CellGroupData[{

Cell["write the control files to disk", "Subsubsection",
 CellChangeTimes->{{3.513533556726437*^9, 3.513533560633779*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<sigma_sca\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"\[Sigma]y", "/.", "\[InvisibleSpace]", "constsubs"}], "/.", 
       "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, {
   3.513534630912414*^9, 3.513534631668521*^9}, {3.513534662555744*^9, 
   3.513534664379022*^9}, {3.513535683786766*^9, 3.513535684907331*^9}, {
   3.513535919636849*^9, 3.513535976164574*^9}, {3.513873084387678*^9, 
   3.513873093721922*^9}, {3.515862148936386*^9, 3.5158621546717143`*^9}, {
   3.516708335792994*^9, 3.516708336128013*^9}, 3.5207161434147873`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<phip_sca\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["p", "hip"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, {
   3.513534630912414*^9, 3.513534631668521*^9}, {3.513534662555744*^9, 
   3.513534664379022*^9}, {3.513535683786766*^9, 3.513535684907331*^9}, {
   3.513535919636849*^9, 3.513535976164574*^9}, {3.513873084387678*^9, 
   3.513873093721922*^9}, {3.5158698657024374`*^9, 3.5158698742209244`*^9}, {
   3.516708336825053*^9, 3.516708337152072*^9}, 3.520716145044881*^9, {
   3.5418646945348907`*^9, 3.54186470388186*^9}, 3.5418679174978905`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<phip_dot_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["p", "hipdot"], " ", "/.", "\[InvisibleSpace]", 
        "constsubs"}], "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, {
   3.513534630912414*^9, 3.513534631668521*^9}, {3.513534662555744*^9, 
   3.513534664379022*^9}, {3.513535683786766*^9, 3.513535684907331*^9}, {
   3.513535919636849*^9, 3.513535976164574*^9}, {3.513873084387678*^9, 
   3.513873093721922*^9}, {3.5158698657024374`*^9, 3.5158698742209244`*^9}, {
   3.516708336825053*^9, 3.516708337152072*^9}, {3.5167541031348357`*^9, 
   3.516754114654495*^9}, {3.5203390769255333`*^9, 3.520339105876189*^9}, {
   3.520716149641144*^9, 3.5207161499701624`*^9}, 3.5418647183505516`*^9, 
   3.5418679204306955`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<deltaphip_sca\>\"", "]"}]}], ";"}], "\n", 
   
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["deltap", "hip"], "/.", "\[InvisibleSpace]", 
        "constsubs"}], "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, {
   3.513534630912414*^9, 3.513534631668521*^9}, {3.513534662555744*^9, 
   3.513534664379022*^9}, {3.513535683786766*^9, 3.513535684907331*^9}, {
   3.513535919636849*^9, 3.513535976164574*^9}, {3.513873084387678*^9, 
   3.513873093721922*^9}, {3.5158698657024374`*^9, 3.5158698742209244`*^9}, {
   3.516708336825053*^9, 3.516708337152072*^9}, 3.520716145044881*^9, {
   3.5418646945348907`*^9, 3.54186470388186*^9}, {3.541867906983472*^9, 
   3.541867908106674*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<deltaphip_dot_mat\>\"", "]"}]}], ";"}], 
   "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["deltap", "hipdot"], " ", "/.", "\[InvisibleSpace]", 
        "constsubs"}], "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, {
   3.513534630912414*^9, 3.513534631668521*^9}, {3.513534662555744*^9, 
   3.513534664379022*^9}, {3.513535683786766*^9, 3.513535684907331*^9}, {
   3.513535919636849*^9, 3.513535976164574*^9}, {3.513873084387678*^9, 
   3.513873093721922*^9}, {3.5158698657024374`*^9, 3.5158698742209244`*^9}, {
   3.516708336825053*^9, 3.516708337152072*^9}, {3.5167541031348357`*^9, 
   3.516754114654495*^9}, {3.5203390769255333`*^9, 3.520339105876189*^9}, {
   3.520716149641144*^9, 3.5207161499701624`*^9}, 3.5418647183505516`*^9, {
   3.5418679127242823`*^9, 3.5418679132702827`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<pcom_sca\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["p", "COM"], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158901103775215`*^9, 3.5158901154943304`*^9}, {
   3.515948100165904*^9, 3.515948106905116*^9}, {3.5159487206466036`*^9, 
   3.5159487213174047`*^9}, {3.51594878707152*^9, 3.5159487941383324`*^9}, {
   3.515953230430625*^9, 3.51595323192271*^9}, {3.515953761686011*^9, 
   3.515953766147266*^9}, 3.515985484570779*^9, {3.5167083379371166`*^9, 
   3.5167083382401342`*^9}, {3.5207162236953793`*^9, 3.5207162275425997`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<yd1_sca\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["y", 
         RowBox[{"d", ",", "1"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158726672456765`*^9, 3.51587268496169*^9}, {
   3.5167083389361734`*^9, 3.516708341929345*^9}, 3.5207162296587205`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"stream", "=", 
    RowBox[{"OpenWrite", "[", "\"\<yd2_vec\>\"", "]"}]}], ";", "\n", 
   RowBox[{"Write", "[", 
    RowBox[{"stream", ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["y", 
        RowBox[{"d", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
       "statesubs"}]}], "]"}], ";", "\n", 
   RowBox[{"Close", "[", "stream", "]"}], ";", "\n", 
   RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, 
   3.513535978245256*^9, {3.5139480491379*^9, 3.513948080396936*^9}, {
   3.513948113545785*^9, 3.513948129942129*^9}, 3.5158619633557715`*^9, {
   3.5158726892259336`*^9, 3.515872692325111*^9}, {3.5167083517449064`*^9, 
   3.5167083521129274`*^9}, 3.5207162311398053`*^9, {3.620236449444048*^9, 
   3.620236466835787*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Dyd1_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["Dy", 
         RowBox[{"d", ",", "1"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158727027727084`*^9, 3.515872707855999*^9}, {
   3.5167083527929664`*^9, 3.5167083530889835`*^9}, 3.5207162325458856`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"stream", "=", 
    RowBox[{"OpenWrite", "[", "\"\<Dyd2_mat\>\"", "]"}]}], ";", "\n", 
   RowBox[{"Write", "[", 
    RowBox[{"stream", ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["Dy", 
        RowBox[{"d", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
       "statesubs"}]}], "]"}], ";", "\n", 
   RowBox[{"Close", "[", "stream", "]"}], ";", "\n", 
   RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533604687178*^9}, {
   3.513535690806333*^9, 3.513535693339207*^9}, 3.513535980161328*^9, 
   3.51586196000458*^9, {3.515872712110243*^9, 3.5158727149254036`*^9}, {
   3.516708353801024*^9, 3.5167083540880404`*^9}, 3.5207163273033056`*^9, {
   3.620236447138818*^9, 3.620236464812585*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<DLfyd1_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["DLfy", 
         RowBox[{"d", ",", "1"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.515861942956605*^9, 3.515861955946348*^9}, {
   3.515874032033738*^9, 3.515874045405503*^9}, {3.5167083552411065`*^9, 
   3.5167083555441236`*^9}, 3.520716332000574*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"stream", "=", 
    RowBox[{"OpenWrite", "[", "\"\<DLfyd2_mat\>\"", "]"}]}], ";", "\n", 
   RowBox[{"Write", "[", 
    RowBox[{"stream", ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["DLfy", 
        RowBox[{"d", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
       "statesubs"}]}], "]"}], ";", "\n", 
   RowBox[{"Close", "[", "stream", "]"}], ";", "\n", 
   RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.515861942956605*^9, 3.515861955946348*^9}, {
   3.5158740329057875`*^9, 3.515874042230321*^9}, {3.5167083567361917`*^9, 
   3.5167083570722113`*^9}, 3.5207163337346735`*^9, {3.6202364576198654`*^9, 
   3.620236469036007*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<ya1_sca\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["y", 
         RowBox[{"a", ",", "1"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158727241079288`*^9, 3.5158727304642925`*^9}, {
   3.516708359905373*^9, 3.5167083605204086`*^9}, 3.52071633560478*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"stream", "=", 
    RowBox[{"OpenWrite", "[", "\"\<ya2_vec\>\"", "]"}]}], ";", "\n", 
   RowBox[{"Write", "[", 
    RowBox[{"stream", ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["y", 
        RowBox[{"a", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
       "statesubs"}]}], "]"}], ";", "\[IndentingNewLine]", 
   RowBox[{"Close", "[", "stream", "]"}], ";", "\[IndentingNewLine]", 
   RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533598891416*^9}, {
   3.513535713498742*^9, 3.513535727403304*^9}, {3.5158727332724533`*^9, 
   3.5158727361286163`*^9}, {3.5167083610644393`*^9, 3.516708361376457*^9}, 
   3.5207163401990433`*^9, 3.6202364718602896`*^9, {3.6202395085659294`*^9, 
   3.6202395261176844`*^9}, 3.6202395980098734`*^9, {3.6202402671517806`*^9, 
   3.620240299528018*^9}, {3.6202409346975284`*^9, 3.620240940983951*^9}, {
   3.620240995176349*^9, 3.620240999519645*^9}, {3.620241069357689*^9, 
   3.6202410697169695`*^9}, 3.6203064185422473`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Dya1_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["Dy", 
         RowBox[{"a", ",", "1"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158727417019353`*^9, 3.51587274563416*^9}, {
   3.5167083619924927`*^9, 3.5167083623125105`*^9}, 3.520716341684128*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"stream", "=", 
    RowBox[{"OpenWrite", "[", "\"\<Dya2_mat\>\"", "]"}]}], ";", "\n", 
   RowBox[{"Write", "[", 
    RowBox[{"stream", ",", 
     RowBox[{
      RowBox[{
       SubscriptBox["Dy", 
        RowBox[{"a", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
       "statesubs"}]}], "]"}], ";", "\n", 
   RowBox[{"Close", "[", "stream", "]"}], ";", "\n", 
   RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533604687178*^9}, {
   3.513535690806333*^9, 3.51353572494454*^9}, {3.515872742920005*^9, 
   3.5158727481833057`*^9}, {3.5167083632325635`*^9, 3.5167083635285807`*^9}, 
   3.5207163448703103`*^9, 3.6202364751246157`*^9, {3.6202589178228164`*^9, 
   3.6202589181988163`*^9}, 3.6203064200784006`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<DLfya1_mat\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["DLfy", 
         RowBox[{"a", ",", "1"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.513533562008006*^9, 3.513533607692186*^9}, 
   3.513534673091028*^9, {3.513535695836862*^9, 3.513535722564655*^9}, {
   3.513536332459772*^9, 3.513536336316357*^9}, {3.5158727571118164`*^9, 
   3.515872763041156*^9}, {3.516708364688647*^9, 3.516708364976663*^9}, 
   3.520716347555464*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<DLfya2_mat\>\"", "]"}]}], ";", "\n", 
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["DLfy", 
         RowBox[{"a", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "statesubs"}]}], "]"}], ";", "\n", 
    RowBox[{"Close", "[", "stream", "]"}], ";", "\n", 
    RowBox[{"Clear", "[", "stream", "]"}], ";"}], "*)"}], 
  "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{
    RowBox[{"SetOptions", "[", 
     RowBox[{"WriteMatlabFunction", ",", "\[IndentingNewLine]", 
      RowBox[{"Arguments", "\[Rule]", 
       RowBox[{"{", "x", "}"}]}]}], "]"}], ";"}], "\[IndentingNewLine]", 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"FileName", "=", "\"\<ya2_vec\>\""}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"ya2", " ", "=", " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{
        SubscriptBox["y", 
         RowBox[{"a", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "exstatesubs"}], ")"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"WriteMatlabFunction", "[", 
    RowBox[{"FileName", ",", "ya2"}], "]"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"FileName", "=", "\"\<Dya2_mat\>\""}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"dya2", " ", "=", " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{
        SubscriptBox["Dy", 
         RowBox[{"a", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "exstatesubs"}], ")"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"WriteMatlabFunction", "[", 
    RowBox[{"FileName", ",", "dya2"}], "]"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"FileName", "=", "\"\<DLfya2_mat\>\""}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"dlfya2", " ", "=", " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{
        SubscriptBox["DLfy", 
         RowBox[{"a", ",", "2"}]], "/.", "\[InvisibleSpace]", "constsubs"}], "/.",
        "exstatesubs"}], ")"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"WriteMatlabFunction", "[", 
    RowBox[{"FileName", ",", "dlfya2"}], "]"}], 
   "\[IndentingNewLine]"}]}]], "Input",
 CellChangeTimes->{{3.5158727601249886`*^9, 3.5158727645362415`*^9}, {
   3.516708366824769*^9, 3.516708367128786*^9}, 3.520716352285734*^9, 
   3.6202364778038836`*^9, {3.6202386013972216`*^9, 3.620238690432124*^9}, {
   3.620239392466321*^9, 3.6202394214752216`*^9}, {3.6202394946335363`*^9, 
   3.6202394986979427`*^9}, {3.6202395331863914`*^9, 3.620239534914564*^9}, {
   3.6202397796940393`*^9, 3.6202397865437245`*^9}, 3.6202405381788807`*^9, 
   3.620241079393577*^9, 3.6202578859548163`*^9, {3.6202581486338167`*^9, 
   3.620258148905816*^9}, {3.6202583626358166`*^9, 3.6202583679478164`*^9}, {
   3.6202584271128163`*^9, 3.620258439759816*^9}, {3.6202589027698164`*^9, 
   3.620258930653816*^9}, {3.620258979627816*^9, 3.6202590022658167`*^9}, {
   3.6202590444158163`*^9, 3.6202590480628166`*^9}, {3.6202598829218163`*^9, 
   3.6202598867848167`*^9}, {3.620261904023816*^9, 3.620261906502816*^9}, 
   3.6203064218005733`*^9}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Dimensions", "[", "dya2", "]"}], "\[IndentingNewLine]"}]], "Input",\

 CellChangeTimes->{{3.6202619078078165`*^9, 3.6202619428458166`*^9}, {
  3.6202621528548164`*^9, 3.6202621531988163`*^9}, {3.6202625016648164`*^9, 
  3.6202625049848166`*^9}, {3.6203022413955746`*^9, 3.620302245491984*^9}, {
  3.6203023642798615`*^9, 3.6203023818006134`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"6", ",", "18"}], "}"}]], "Output",
 CellChangeTimes->{{3.6202619106328163`*^9, 3.6202619434198165`*^9}, 
   3.6202621549348164`*^9, 3.620262320549816*^9, {3.6202624936738167`*^9, 
   3.6202625055138164`*^9}, 3.620302195367972*^9, 3.6203022459500294`*^9, {
   3.6203023662910624`*^9, 3.62030238306774*^9}, 3.620302700489479*^9, 
   3.6203030187323003`*^9, 3.620303417721195*^9, 3.6203036174471655`*^9, 
   3.6203038848339014`*^9, 3.6203041862390394`*^9, 3.6203048712175303`*^9, 
   3.6203054326546683`*^9, 3.620306590900481*^9, 3.6203083452749014`*^9, 
   3.620308964974865*^9, 3.6203180719614725`*^9, 3.6203185744517164`*^9, 
   3.620319420407304*^9, 3.620761341213049*^9}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["PERL", "Subsection",
 CellChangeTimes->{{3.51353232609383*^9, 3.513532329542585*^9}}],

Cell["this next line assumes that perl is in your path", "Text",
 CellChangeTimes->{{3.513015230408543*^9, 3.513015241200741*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"SetDirectory", "[", 
     RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{"Run", "[", "\"\<perl math2mat_torso.pl\>\"", "]"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"SetDirectory", "[", 
     RowBox[{
      RowBox[{"NotebookDirectory", "[", "]"}], "<>", "\"\<build_torso\>\""}], 
     "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.504476276692404*^9, 3.504476301348216*^9}, {
   3.504478868125564*^9, 3.504478869967337*^9}, {3.504538702237328*^9, 
   3.504538704315194*^9}, {3.504631487786531*^9, 3.504631500259924*^9}, {
   3.504632214564033*^9, 3.504632215194798*^9}, {3.504635416937057*^9, 
   3.50463541912094*^9}, {3.504874639115547*^9, 3.504874639679282*^9}, 
   3.504876166859266*^9, {3.505578303460942*^9, 3.5055783039289427`*^9}, {
   3.512922890945364*^9, 3.512922891900902*^9}, {3.5129244660544987`*^9, 
   3.51292449464812*^9}, {3.512925468730114*^9, 3.512925469241001*^9}, {
   3.513011661780643*^9, 3.513011661926162*^9}, {3.51301497676734*^9, 
   3.513015001300451*^9}, {3.5158700422275343`*^9, 3.515870043613613*^9}, {
   3.515870412159693*^9, 3.5158704163519325`*^9}, {3.5158863672774124`*^9, 
   3.5158863722382207`*^9}}]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Inverse Kinematics", "Section",
 CellChangeTimes->{{3.51353232609383*^9, 3.513532329542585*^9}, {
  3.5140469816745305`*^9, 3.5140469835466375`*^9}, {3.51405491908371*^9, 
  3.514054919326081*^9}, {3.5207282376405377`*^9, 3.520728240214685*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"SetDirectory", "[", 
    RowBox[{
     RowBox[{"NotebookDirectory", "[", "]"}], "<>", 
     "\"\<buildopt_torso\>\""}], "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158974201226616`*^9, 3.515897422208781*^9}, 
   3.5159409950429645`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"\[CapitalDelta]", "=", " ", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "1"}], "}"}],
       ",", "\[IndentingNewLine]", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0", ",", "0", ",", "1", ",", "0"}], "}"}],
       ",", "\[IndentingNewLine]", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "0", ",", "1", ",", "0", ",", "0"}], "}"}],
       ",", "\[IndentingNewLine]", 
      RowBox[{"{", 
       RowBox[{"0", ",", "0", ",", "1", ",", "0", ",", "0", ",", "0"}], "}"}],
       ",", "\[IndentingNewLine]", 
      RowBox[{"{", 
       RowBox[{"0", ",", "1", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}],
       ",", "\[IndentingNewLine]", 
      RowBox[{"{", 
       RowBox[{"1", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], 
       "}"}]}], "}"}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5126870727453375`*^9, 3.5126871090532956`*^9}, {
   3.512687198656415*^9, 3.5126872022367573`*^9}, {3.5126906830481005`*^9, 
   3.5126907051903095`*^9}, {3.514054842423344*^9, 3.514054877019777*^9}, 
   3.514054909726557*^9, {3.5158588592522273`*^9, 3.5158589038437777`*^9}, {
   3.5158839903865247`*^9, 3.5158839971019087`*^9}, 3.515940988613597*^9, {
   3.515941980195312*^9, 3.515942020051592*^9}, {3.5418175200275393`*^9, 
   3.541817569041343*^9}, {3.542572480931081*^9, 3.5425724974970284`*^9}, {
   3.542572688849973*^9, 3.5425727118242874`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"initialtime", "=", 
    RowBox[{"{", 
     RowBox[{"t", "\[Rule]", "0"}], "}"}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158840455366793`*^9, 3.515884055622256*^9}, {
  3.5158841551359477`*^9, 3.5158841624563665`*^9}, {3.515891350156479*^9, 
  3.515891350585504*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"resetmap", "=", 
   RowBox[{"Module", "[", 
    RowBox[{
     RowBox[{"{", "newq", "}"}], ",", "\[IndentingNewLine]", 
     RowBox[{
      RowBox[{"newq", "=", 
       RowBox[{"\[CapitalDelta]", ".", 
        RowBox[{"(", "q", ")"}]}]}], ";", "\[IndentingNewLine]", 
      RowBox[{"Table", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
          SubscriptBox["\[Theta]", "i"], "[", "0", "]"}], "->", 
         RowBox[{"newq", "[", 
          RowBox[{"[", 
           RowBox[{"i", ",", "1"}], "]"}], "]"}]}], ",", 
        RowBox[{"{", 
         RowBox[{"i", ",", "1", ",", 
          RowBox[{"Length", "[", "q", "]"}]}], "}"}]}], "]"}]}]}], 
    "\[IndentingNewLine]", "]"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.515889034698043*^9, {3.5158896543664856`*^9, 3.515889655282538*^9}}],

Cell[CellGroupData[{

Cell["Parameterized Time Using the Output of the Hip", "Subsection",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5133462255725746`*^9, 3.513346244405652*^9}, {
   3.51334632129305*^9, 3.513346341733219*^9}, 3.541863724648199*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"phipcondition", "=", 
    RowBox[{
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"p", "[", "1", "]"}], "\[Rule]", 
        SubscriptBox["deltap", "hip"]}], "}"}], "/.", "constsubs"}], "/.", 
     RowBox[{"t", "\[Rule]", "0"}]}]}], ";"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.515889672571527*^9, 3.515889674968664*^9}, {
   3.515890444251664*^9, 3.515890444569683*^9}, {3.515942148250924*^9, 
   3.515942174667435*^9}, {3.5159426119234447`*^9, 3.5159426332196627`*^9}, 
   3.515943242212495*^9, 3.515943756731924*^9, {3.5159855129044*^9, 
   3.5159855341526146`*^9}, {3.5207282787238874`*^9, 
   3.5207282828571243`*^9}, {3.5223565377914543`*^9, 
   3.5223565440782657`*^9}, {3.5224294884521236`*^9, 3.5224294923883486`*^9}, 
   3.5418176205752907`*^9, {3.541863711528576*^9, 3.5418637402170267`*^9}, {
   3.5418681819739575`*^9, 3.541868184017561*^9}, {3.54255055717977*^9, 
   3.5425505607789755`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"phipcondition", "/.", "resetmap"}], ";"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.516751800532134*^9, 3.516751805196401*^9}, {
   3.516752237310117*^9, 3.5167522378981504`*^9}, 3.5417803634829464`*^9, {
   3.5418176337900467`*^9, 3.5418176399573994`*^9}, 3.541863724648199*^9, {
   3.542550563187114*^9, 3.542550566554306*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"\[Sigma]", "[", "t", "]"}], "/.", "\[InvisibleSpace]", "fb"}], 
   ";"}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{
  3.5417803665391216`*^9, 3.541863724648199*^9, {3.54255056854642*^9, 
   3.5425505708105497`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"tau", "=", 
    RowBox[{"Simplify", "[", 
     RowBox[{
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{"\[Sigma]", "[", "t", "]"}], "/.", "\[InvisibleSpace]", 
         "fb"}], "/.", "\[InvisibleSpace]", "phipcondition"}], "/.", 
       "resetmap"}], "/.", "constsubs"}], "]"}]}], ";"}], 
  "\[IndentingNewLine]", "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.5158895462843037`*^9, 3.5158895925569506`*^9}, {
  3.515889789857235*^9, 3.5158897931634245`*^9}, {3.515889831234602*^9, 
  3.5158898935841684`*^9}, {3.5158904699201326`*^9, 3.5158904714572206`*^9}, {
  3.515891377005015*^9, 3.515891377386037*^9}, {3.5159855481004124`*^9, 
  3.5159855596250715`*^9}, {3.541863724648199*^9, 3.541863734538616*^9}, {
  3.542550572978674*^9, 3.542550585626397*^9}, {3.542572524552576*^9, 
  3.5425725278007617`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<tau\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"tau", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.},
 CellChangeTimes->{{3.515891747597212*^9, 3.5158917482732506`*^9}, 
   3.541863724648199*^9}]
}, Open  ]],

Cell["extract the (relative degree two) position-based outputs", "Text",
 CellChangeTimes->{{3.51405623270548*^9, 3.514056248417758*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    SubscriptBox["y", "2"], "=", 
    RowBox[{
     RowBox[{
      RowBox[{"(", 
       RowBox[{
        SubscriptBox["y", 
         RowBox[{"a", ",", "2"}]], "-", 
        SubscriptBox["y", 
         RowBox[{"d", ",", "2"}]]}], ")"}], "/.", "\[InvisibleSpace]", 
      "phipcondition"}], "/.", "constsubs"}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5159429875229278`*^9, 3.515943032690511*^9}, {
   3.51598557480694*^9, 3.5159855753639717`*^9}, 3.5417803800918965`*^9, {
   3.5418182025415773`*^9, 3.5418182054527435`*^9}, {3.542550632240063*^9, 
   3.542550661454734*^9}, {3.5427317084254417`*^9, 3.5427317184406595`*^9}, 
   3.542900896948234*^9, 3.5429010276764636`*^9}],

Cell["compute the pre- and post-impact values of the outputs", "Text",
 CellChangeTimes->{{3.514056343774789*^9, 3.514056355919777*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus", "=", 
   RowBox[{
    RowBox[{
     RowBox[{
      SubscriptBox["y", "2"], "/.", "initialtime"}], "/.", "resetmap"}], "//",
     "ParallelSimplify"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5159428874992065`*^9, 3.5159429143387423`*^9}, {
  3.51594304105899*^9, 3.5159430447622013`*^9}, {3.542731726817874*^9, 
  3.5427317277070756`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{"(", 
      RowBox[{
       SubscriptBox["y", 
        RowBox[{"a", ",", "2"}]], "\[Equal]", 
       RowBox[{"Table", "[", 
        RowBox[{
         RowBox[{"{", 
          SubscriptBox["yd", "i"], "}"}], ",", 
         RowBox[{"{", 
          RowBox[{"i", ",", "5"}], "}"}]}], "]"}]}], ")"}], "/.", 
     "initialtime"}], "/.", "resetmap"}], "//", "ParallelSimplify"}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5427382959935493`*^9, 3.542738309960634*^9}, {
  3.542738360310828*^9, 3.5427383841064353`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"temp", "=", 
   RowBox[{
    RowBox[{
     RowBox[{"yplus", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], 
     " ", "+", 
     RowBox[{
     "yplus", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}]}], "//", 
    "N"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5427376306000757`*^9, 3.5427376561841965`*^9}, {
  3.5427377344241447`*^9, 3.5427377526966515`*^9}, {3.542737792792188*^9, 
  3.5427378048884525`*^9}, {3.542738019833596*^9, 3.5427380222806664`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"yplus", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], 
    "+", 
    RowBox[{"yplus", "\[LeftDoubleBracket]", "5", "\[RightDoubleBracket]"}], 
    "+", "temp"}], "//", "N"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5427378562804327`*^9, 3.5427378665845976`*^9}, {
  3.5427379004085817`*^9, 3.542737901336232*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<y_plus\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"yplus", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.515893576706831*^9, 3.51589357756488*^9}, 
   3.542550617721233*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"yminus", "=", 
    RowBox[{
     SubscriptBox["y", "2"], "/.", "resetmap"}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158912072393045`*^9, 3.515891227677474*^9}, {
   3.515943128370984*^9, 3.515943134586339*^9}, {3.515943165683118*^9, 
   3.515943166187147*^9}, 3.5417803855632095`*^9, {3.5424727131428027`*^9, 
   3.5424727181348114`*^9}, {3.542550625792694*^9, 3.5425506534152746`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<y_minus\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"yminus", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "\[IndentingNewLine]", 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5158935571417117`*^9, 3.515893586749405*^9}}],

Cell[CellGroupData[{

Cell["Velocity of Outputs: Pre and Post Impact", "Subsection",
 CellChangeTimes->{{3.5133462255725746`*^9, 3.5133462845249467`*^9}, {
  3.5140475842599964`*^9, 3.514047587214165*^9}, {3.514050381757004*^9, 
  3.5140503867632904`*^9}, {3.5140508345048995`*^9, 3.514050836366006*^9}, {
  3.515340123141806*^9, 3.515340124962953*^9}}],

Cell["compute the jacobian of the output functions", "Text",
 CellChangeTimes->{{3.514056134624614*^9, 3.514056152522016*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"Y", "=", 
    RowBox[{"Join", "[", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", "q", "]"}], ",", "1"}], "}"}]], 
       RowBox[{"{", 
        SubscriptBox["deltap", "hip"], "}"}]}], ",", 
      RowBox[{"Simplify", "[", 
       RowBox[{
        SubscriptBox["\[PartialD]", 
         RowBox[{"{", 
          RowBox[{
           RowBox[{"Flatten", "[", "q", "]"}], ",", "1"}], "}"}]], 
        RowBox[{"Flatten", "[", 
         SubscriptBox["y", "2"], "]"}]}], "]"}]}], "]"}]}], ";"}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5158871007064247`*^9, 3.515887101970497*^9}, 
   3.5158874557787333`*^9, {3.515898875609911*^9, 3.5158988760079336`*^9}, {
   3.5158993719242983`*^9, 3.5158993862991204`*^9}, {3.515899472917075*^9, 
   3.5158994757032337`*^9}, {3.541868195655182*^9, 3.5418681967783833`*^9}, {
   3.5429018285643053`*^9, 3.5429018365827193`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"Yplus", "=", 
   RowBox[{
    RowBox[{
     RowBox[{"Y", "/.", "initialtime"}], "/.", "constsubs"}], "/.", 
    "resetmap"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158905547469845`*^9, 3.5158905560910616`*^9}, 
   3.515891153092208*^9, {3.515893378403488*^9, 3.5158933836337876`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<H_plus\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{
       RowBox[{"Yplus", "/.", "statesubs"}], "/.", "constsubs"}]}], "]"}], 
    ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158948955412636`*^9, 3.5158949312793083`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"Yminus", "=", 
   RowBox[{
    RowBox[{"Y", "/.", "constsubs"}], "/.", "resetmap"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158912072393045`*^9, 3.515891227677474*^9}, {
   3.5158934248751464`*^9, 3.515893427941322*^9}, 3.541780404924317*^9, {
   3.5418651387458215`*^9, 3.541865146551185*^9}, 3.5424902028483686`*^9, 
   3.5424911402139826`*^9, {3.5429008793826027`*^9, 3.542900883735011*^9}, 
   3.542901819313489*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<H_minus\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Yminus", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.515895085079105*^9, 3.5158950853751216`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"h", "\[IndentingNewLine]", 
   RowBox[{"Dh", " ", "=", " ", 
    RowBox[{
     SubscriptBox["\[PartialD]", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"Flatten", "[", "q", "]"}], ",", "1"}], "}"}]], 
     RowBox[{"{", "h", "}"}]}]}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158876222012525`*^9, 3.5158876466726522`*^9}, {
  3.515895637521703*^9, 3.5158956394738145`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<h_dot_minus\>\"", "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Dh", "/.", "statesubs"}]}], "]"}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5158874776569853`*^9, 3.5158874849574027`*^9}, {
  3.515887517663273*^9, 3.5158875400105515`*^9}, {3.515887575902604*^9, 
  3.5158875781407323`*^9}, {3.515895688195601*^9, 3.515895688494618*^9}, {
  3.51589577315246*^9, 3.515895776011624*^9}, {3.515895808711494*^9, 
  3.515895808919506*^9}, {3.5158958389342227`*^9, 3.515895841410364*^9}}],

Cell[CellGroupData[{

Cell["solve for the inverse kinematics", "Subsubsection",
 CellChangeTimes->{{3.5133462255725746`*^9, 3.5133462845249467`*^9}, {
  3.5140475842599964`*^9, 3.514047587214165*^9}, {3.514050381757004*^9, 
  3.5140503867632904`*^9}, {3.5140508768053193`*^9, 3.5140508825446477`*^9}, {
  3.514056179159212*^9, 3.51405618309467*^9}}],

Cell["create a function to solve the inverse kinematics", "Text",
 CellChangeTimes->{{3.514058861590675*^9, 3.514058871479416*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"SolveEquations", "[", 
     RowBox[{"equations_", ",", "variables_", ",", "solutionnumbers_"}], 
     "]"}], ":=", "\[IndentingNewLine]", 
    RowBox[{"Module", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"i", ",", 
        RowBox[{"solutions", "=", 
         RowBox[{"{", "}"}]}], ",", "tmpeqn", ",", "tmpsolution"}], "}"}], 
      ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"For", "[", 
        RowBox[{
         RowBox[{"i", "=", "1"}], ",", 
         RowBox[{"i", "\[LessEqual]", 
          RowBox[{"Length", "[", "variables", "]"}]}], ",", 
         RowBox[{"i", "++"}], ",", "\[IndentingNewLine]", 
         RowBox[{
          RowBox[{"tmpeqn", "=", 
           RowBox[{
            RowBox[{"(", 
             RowBox[{"equations", "[", 
              RowBox[{"[", "i", "]"}], "]"}], ")"}], "\[Equal]", "0"}]}], ";",
           "\[IndentingNewLine]", 
          RowBox[{"tmpsolution", "=", 
           RowBox[{"{", 
            RowBox[{
             RowBox[{
             "variables", "\[LeftDoubleBracket]", "i", 
              "\[RightDoubleBracket]"}], "\[Rule]", 
             RowBox[{"(", 
              RowBox[{
               RowBox[{
               "variables", "\[LeftDoubleBracket]", "i", 
                "\[RightDoubleBracket]"}], "/.", 
               RowBox[{"Flatten", "[", 
                RowBox[{"{", 
                 RowBox[{"solutions", ",", 
                  RowBox[{
                   RowBox[{"Solve", "[", 
                    RowBox[{"tmpeqn", ",", 
                    RowBox[{
                    "variables", "\[LeftDoubleBracket]", "i", 
                    "\[RightDoubleBracket]"}]}], "]"}], 
                   "\[LeftDoubleBracket]", 
                   RowBox[{
                   "solutionnumbers", "\[LeftDoubleBracket]", "i", 
                    "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}]}], 
                 "}"}], "]"}]}], ")"}]}], "}"}]}], ";", "\[IndentingNewLine]", 
          RowBox[{"solutions", "=", 
           RowBox[{"Join", "[", 
            RowBox[{"solutions", ",", 
             RowBox[{"(", 
              RowBox[{"tmpsolution", "/.", "solutions"}], ")"}]}], 
            "]"}]}]}]}], "\[IndentingNewLine]", "]"}], ";", 
       "\[IndentingNewLine]", "solutions"}]}], "\[IndentingNewLine]", "]"}]}],
    ";"}], "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"atest", "=", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"1", ",", "1"}], "]"}], "\[Rule]", "0.8300"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"1", ",", "2"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"1", ",", "3"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"1", ",", "4"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"1", ",", "5"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"2", ",", "1"}], "]"}], "\[Rule]", 
       RowBox[{"-", "0.2024"}]}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"2", ",", "2"}], "]"}], "\[Rule]", "13.5080"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"2", ",", "3"}], "]"}], "\[Rule]", "0.0470"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"2", ",", "4"}], "]"}], "\[Rule]", "3.8943"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"2", ",", "5"}], "]"}], "\[Rule]", "0.3315"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"3", ",", "1"}], "]"}], "\[Rule]", 
       RowBox[{"-", "0.3452"}]}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"3", ",", "2"}], "]"}], "\[Rule]", "10.7909"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"3", ",", "3"}], "]"}], "\[Rule]", "0.0133"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"3", ",", "4"}], "]"}], "\[Rule]", 
       RowBox[{"-", "0.8249"}]}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"3", ",", "5"}], "]"}], "\[Rule]", "0.6888"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"4", ",", "1"}], "]"}], "\[Rule]", "0.1395"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"4", ",", "2"}], "]"}], "\[Rule]", "7.2676"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"4", ",", "3"}], "]"}], "\[Rule]", "0.1619"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"4", ",", "4"}], "]"}], "\[Rule]", 
       RowBox[{"-", "1.4881"}]}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"4", ",", "5"}], "]"}], "\[Rule]", "0.1713"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"5", ",", "1"}], "]"}], "\[Rule]", 
       RowBox[{"-", "0.0144"}]}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"5", ",", "2"}], "]"}], "\[Rule]", "0.0069"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"5", ",", "3"}], "]"}], "\[Rule]", 
       RowBox[{"-", "142.8555"}]}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"5", ",", "4"}], "]"}], "\[Rule]", "32.7943"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"5", ",", "5"}], "]"}], "\[Rule]", "0.0773"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"6", ",", "1"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"6", ",", "2"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"6", ",", "3"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"6", ",", "4"}], "]"}], "\[Rule]", "0"}], ",", 
      RowBox[{
       RowBox[{"a", "[", 
        RowBox[{"6", ",", "5"}], "]"}], "\[Rule]", "0"}]}], "}"}]}], ";"}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.516708534127338*^9, 3.516708546737059*^9}, {
   3.5167085869383583`*^9, 3.516708631586912*^9}, {3.541817704366083*^9, 
   3.5418177151587005`*^9}, {3.541818606087659*^9, 3.5418186363343887`*^9}, 
   3.5424844318007464`*^9, {3.542999503138522*^9, 3.542999729307719*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"A", "=", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{"a", "[", 
       RowBox[{"i", ",", "j"}], "]"}], ",", 
      RowBox[{"{", 
       RowBox[{"i", ",", "6"}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{"j", ",", "5"}], "}"}]}], "]"}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.516708550491274*^9, 3.516708565841152*^9}, {
   3.5219868472809534`*^9, 3.5219868535253105`*^9}, {3.5418177246822453`*^9, 
   3.541817751080755*^9}, {3.5418187621085825`*^9, 3.5418187628926277`*^9}, 
   3.5424844363871546`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"A", "/.", "atest"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5167085746056533`*^9, 3.5167085760477357`*^9}}],

Cell[BoxData[
 RowBox[{"(*", "yplus", "*)"}]], "Input",
 CellChangeTimes->{{3.5424728683928757`*^9, 3.5424728694692783`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus1", "=", 
   RowBox[{"yplus", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5429986690971622`*^9, 3.542998699058876*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus2", "=", 
   RowBox[{"yplus", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5429986932585444`*^9, 3.5429987050102167`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus3", " ", "=", " ", 
   RowBox[{
    RowBox[{"yplus", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}], 
    " ", "+", " ", 
    RowBox[{
    "yplus", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5418190335931106`*^9, 3.541819090853386*^9}, {
   3.541819522115052*^9, 3.541819548177543*^9}, {3.542472851716447*^9, 
   3.542472856630455*^9}, {3.542472891855317*^9, 3.5424728919645176`*^9}, {
   3.542998335324072*^9, 3.54299834841082*^9}, 3.542998716841893*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus4", "=", 
   RowBox[{"yplus", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5429985217767363`*^9, 3.542998534673474*^9}, {
  3.542998722826236*^9, 3.542998735305949*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus5", " ", "=", " ", 
   RowBox[{
    RowBox[{"yplus", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], 
    " ", "+", " ", 
    RowBox[{
    "yplus", "\[LeftDoubleBracket]", "5", "\[RightDoubleBracket]"}]}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.542998359685465*^9, 3.542998386585004*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"yplus6", "=", 
   RowBox[{"{", "h", "}"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.542998758454273*^9, 3.542998772495076*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"yhsolve", " ", "=", " ", 
     RowBox[{"Join", "[", 
      RowBox[{
      "yplus1", ",", "yplus2", ",", "yplus3", ",", "yplus4", ",", "yplus5", 
       ",", "yplus6"}], "]"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{"MatrixForm", "[", "yhsolve", "]"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5159453782986727`*^9, 3.515945470066921*^9}, {
   3.515946921330929*^9, 3.515946925987195*^9}, 3.5159579961003695`*^9, {
   3.5418180797945566`*^9, 3.541818082385705*^9}, {3.5418195576910872`*^9, 
   3.54181961875058*^9}, 3.5418196983721337`*^9, {3.541819731826047*^9, 
   3.541819739577491*^9}, 3.5418197744574857`*^9, {3.5418638023519354`*^9, 
   3.5418638645960445`*^9}, {3.5424729562678304`*^9, 3.54247296185264*^9}, {
   3.5429984033129606`*^9, 3.5429984920360355`*^9}, {3.5429986025203543`*^9, 
   3.5429986313910055`*^9}, {3.5429987905351086`*^9, 3.5429989592877607`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"Theta5Cond", "=", 
     RowBox[{
      RowBox[{"Solve", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
         "yhsolve", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], 
         "\[Equal]", "0"}], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "]"}], 
      "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Theta2Cond", "=", 
     RowBox[{
      RowBox[{"Solve", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
         "yhsolve", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], 
         "\[Equal]", "0"}], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "2"], "[", "t", "]"}]}], "]"}], 
      "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Theta3Cond", "=", 
     RowBox[{
      RowBox[{"Solve", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
         "yhsolve", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], 
         "\[Equal]", "0"}], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "3"], "[", "t", "]"}]}], "]"}], 
      "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Theta1Cond", "=", 
     RowBox[{
      RowBox[{"Solve", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
         "yhsolve", "\[LeftDoubleBracket]", "5", "\[RightDoubleBracket]"}], 
         "\[Equal]", "0"}], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "1"], "[", "t", "]"}]}], "]"}], 
      "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Theta6Cond", "=", 
     RowBox[{
      RowBox[{"Solve", "[", 
       RowBox[{
        RowBox[{
         RowBox[{
         "yhsolve", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}], 
         "\[Equal]", "0"}], ",", 
        RowBox[{
         SubscriptBox["\[Theta]", "6"], "[", "t", "]"}]}], "]"}], 
      "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"yhsolve", "\[LeftDoubleBracket]", "6", "\[RightDoubleBracket]"}],
     "=", 
    RowBox[{
     RowBox[{
     "yhsolve", "\[LeftDoubleBracket]", "6", "\[RightDoubleBracket]"}], "/.", 
     "Theta6Cond"}]}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.51594676032572*^9, 3.5159468099305573`*^9}, {
   3.5159566741957607`*^9, 3.51595678713122*^9}, {3.5159568457875752`*^9, 
   3.5159568538670373`*^9}, {3.515956895125397*^9, 3.5159569150995398`*^9}, {
   3.5159571238684807`*^9, 3.515957170348139*^9}, {3.515958003729806*^9, 
   3.515958007675031*^9}, {3.5159638958349743`*^9, 3.515963896592017*^9}, {
   3.51596399752379*^9, 3.51596400259408*^9}, {3.515964082366643*^9, 
   3.515964102957821*^9}, {3.5159641483604174`*^9, 3.515964231857193*^9}, {
   3.515964279459916*^9, 3.5159642822650766`*^9}, {3.5159728721103873`*^9, 
   3.5159729359940414`*^9}, {3.515973121749666*^9, 3.5159731262559233`*^9}, 
   3.516711531312767*^9, {3.52072837720152*^9, 3.520728378225579*^9}, {
   3.522511106163158*^9, 3.5225111066501856`*^9}, {3.522511147690533*^9, 
   3.5225111497466507`*^9}, {3.5225118207090273`*^9, 3.522511820941041*^9}, {
   3.5418183907673435`*^9, 3.5418185753739023`*^9}, {3.5418186470990047`*^9, 
   3.5418186530663457`*^9}, {3.541818773371227*^9, 3.541818775619355*^9}, 
   3.5418198088954554`*^9, {3.5418639157017345`*^9, 3.5418639366993713`*^9}, {
   3.5424849741692996`*^9, 3.542485018208177*^9}, {3.542998978809877*^9, 
   3.5429990951545315`*^9}, 3.542999448764757*^9, {3.543106567649581*^9, 
   3.543106603262618*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"Theta4Cond", "=", 
   RowBox[{
    RowBox[{"Solve", "[", 
     RowBox[{
      RowBox[{
       RowBox[{
       "yhsolve", "\[LeftDoubleBracket]", "6", "\[RightDoubleBracket]"}], 
       "\[Equal]", "0"}], ",", 
      RowBox[{
       SubscriptBox["\[Theta]", "4"], "[", "t", "]"}]}], "]"}], 
    "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "*)"}]], "Input",\

 CellChangeTimes->{{3.51594676032572*^9, 3.5159468099305573`*^9}, {
   3.5159566741957607`*^9, 3.51595678713122*^9}, {3.5159568457875752`*^9, 
   3.5159568538670373`*^9}, {3.515956895125397*^9, 3.5159569150995398`*^9}, {
   3.5159571238684807`*^9, 3.515957170348139*^9}, {3.515958003729806*^9, 
   3.515958007675031*^9}, {3.5159638958349743`*^9, 3.515963896592017*^9}, {
   3.51596399752379*^9, 3.51596400259408*^9}, {3.515964082366643*^9, 
   3.515964102957821*^9}, {3.5159641483604174`*^9, 3.515964231857193*^9}, {
   3.515964279459916*^9, 3.5159642822650766`*^9}, {3.5159728721103873`*^9, 
   3.5159729359940414`*^9}, {3.515973121749666*^9, 3.5159731262559233`*^9}, 
   3.516711531312767*^9, {3.52072837720152*^9, 3.520728378225579*^9}, {
   3.522511106163158*^9, 3.5225111066501856`*^9}, {3.522511147690533*^9, 
   3.5225111497466507`*^9}, {3.5225118207090273`*^9, 3.522511820941041*^9}, {
   3.5418183907673435`*^9, 3.5418185753739023`*^9}, {3.5418186470990047`*^9, 
   3.5418186530663457`*^9}, {3.541818773371227*^9, 3.541818775619355*^9}, 
   3.5418198088954554`*^9, {3.5418639157017345`*^9, 3.5418639366993713`*^9}, {
   3.5424849741692996`*^9, 3.542485018208177*^9}, {3.542998978809877*^9, 
   3.5429990951545315`*^9}, 3.542999448764757*^9, {3.543106567649581*^9, 
   3.5431066163513665`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{
          RowBox[{
           RowBox[{
            RowBox[{
             RowBox[{
              RowBox[{"Transpose", "[", 
               RowBox[{"{", 
                RowBox[{"{", 
                 RowBox[{
                  RowBox[{
                   SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], ",", 
                  RowBox[{
                   SubscriptBox["\[Theta]", "6"], "[", "t", "]"}], ",", 
                  RowBox[{
                   SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], ",", 
                  RowBox[{
                   SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], ",", 
                  RowBox[{
                   SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], ",", 
                  RowBox[{
                   SubscriptBox["\[Theta]", "5"], "[", "t", "]"}]}], "}"}], 
                "}"}], "]"}], "/.", "\[InvisibleSpace]", "Theta6Cond"}], "/.",
              "\[InvisibleSpace]", "atest"}], "/.", "\[InvisibleSpace]", 
            "Theta4Cond"}], "/.", "\[InvisibleSpace]", "atest"}], "/.", 
          "\[InvisibleSpace]", "Theta1Cond"}], "/.", "\[InvisibleSpace]", 
         "atest"}], "/.", "\[InvisibleSpace]", "Theta3Cond"}], "/.", 
       "\[InvisibleSpace]", "atest"}], "/.", "\[InvisibleSpace]", 
      "Theta2Cond"}], "/.", "\[InvisibleSpace]", "atest"}], "/.", 
    "\[InvisibleSpace]", "Theta5Cond"}], "/.", "\[InvisibleSpace]", "atest"}],
   "*)"}]], "Input",
 CellChangeTimes->{{3.5418641245189266`*^9, 3.5418641840863085`*^9}, {
   3.541864881071509*^9, 3.5418648957224956`*^9}, {3.541864934696731*^9, 
   3.5418650174467573`*^9}, {3.5424874534626837`*^9, 
   3.5424874804663315`*^9}, {3.54248752516041*^9, 3.542487573723295*^9}, 
   3.542487607185354*^9, {3.5429992460511627`*^9, 3.54299941891605*^9}, {
   3.5431064406733184`*^9, 3.543106467062828*^9}, {3.5431066447189894`*^9, 
   3.5431066469821186`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"Theta2a", " ", "=", " ", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "2"], "[", "t", "]"}], "/.", "Theta2Cond"}]}],
     ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Theta5a", " ", "=", " ", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[Theta]", "5"], "[", "t", "]"}], "/.", "Theta5Cond"}]}],
     ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Theta1a", " ", "=", " ", 
     RowBox[{
      RowBox[{
       RowBox[{
        SubscriptBox["\[Theta]", "1"], "[", "t", "]"}], "/.", "Theta1Cond"}], 
      "/.", "Theta2Cond"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Theta3a", " ", "=", " ", 
     RowBox[{
      RowBox[{
       RowBox[{
        SubscriptBox["\[Theta]", "3"], "[", "t", "]"}], "/.", "Theta3Cond"}], 
      "/.", "Theta2Cond"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Theta4a", " ", "=", " ", 
     RowBox[{
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{
          RowBox[{
           SubscriptBox["\[Theta]", "4"], "[", "t", "]"}], "/.", 
          "Theta4Cond"}], "/.", "Theta1Cond"}], "/.", "Theta3Cond"}], "/.", 
       "Theta2Cond"}], "/.", "Theta5Cond"}]}], ";"}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"Theta6a", " ", "=", " ", 
     RowBox[{
      RowBox[{
       RowBox[{
        RowBox[{
         RowBox[{
          RowBox[{
           SubscriptBox["\[Theta]", "6"], "[", "t", "]"}], "/.", 
          "Theta6Cond"}], "/.", "Theta4Cond"}], "/.", "Theta3Cond"}], "/.", 
       "Theta2Cond"}], "/.", "Theta5Cond"}]}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.515957319602676*^9, 3.515957408978788*^9}, {
   3.5159580291182575`*^9, 3.51595803894882*^9}, {3.515958695734386*^9, 
   3.5159587502905064`*^9}, 3.51595934042026*^9, {3.515963224972603*^9, 
   3.5159632256866436`*^9}, {3.515963471284691*^9, 3.515963496007105*^9}, {
   3.516712231378809*^9, 3.516712233642938*^9}, {3.5418209332226577`*^9, 
   3.5418211947166142`*^9}, {3.541864461123909*^9, 3.541864471158395*^9}, {
   3.5424896843377113`*^9, 3.5424897391578474`*^9}, {3.5429997618649764`*^9, 
   3.542999778635006*^9}, {3.542999811301463*^9, 3.5429999377552853`*^9}, 
   3.543000090074957*^9, 3.5431064990206556`*^9, {3.5431065461153493`*^9, 
   3.5431065467463856`*^9}, {3.543106652797451*^9, 3.54310667182854*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<theta_a1\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Theta1a", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5158922845389233`*^9, {3.5158938060489483`*^9, 3.515893808904112*^9}, {
   3.5159574775057077`*^9, 3.515957506890388*^9}, {3.5159638351495028`*^9, 
   3.515963852128474*^9}, 3.5167122415113883`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<theta_a2\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Theta2a", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5158922845389233`*^9, {3.5158938060489483`*^9, 3.515893808904112*^9}, {
   3.5159574775057077`*^9, 3.515957506890388*^9}, {3.5159638351495028`*^9, 
   3.515963852128474*^9}, {3.5167122415113883`*^9, 3.516712243727515*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<theta_a3\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Theta3a", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5158922845389233`*^9, {3.5158938060489483`*^9, 3.515893808904112*^9}, {
   3.5159574775057077`*^9, 3.515957506890388*^9}, {3.5159638351495028`*^9, 
   3.515963852128474*^9}, {3.5167122415113883`*^9, 3.516712245702628*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<theta_a4\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Theta4a", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5158922845389233`*^9, {3.5158938060489483`*^9, 3.515893808904112*^9}, {
   3.5159574775057077`*^9, 3.515957506890388*^9}, {3.5159638351495028`*^9, 
   3.515963852128474*^9}, {3.5167122415113883`*^9, 3.5167122473267207`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<theta_a5\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Theta5a", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5158922845389233`*^9, {3.5158938060489483`*^9, 3.515893808904112*^9}, {
   3.5159574775057077`*^9, 3.515957506890388*^9}, {3.5159638351495028`*^9, 
   3.515963852128474*^9}, {3.5167122415113883`*^9, 3.5167122473267207`*^9}, {
   3.541864480284411*^9, 3.541864481891214*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<theta_a6\>\"", "]"}]}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"Theta6a", "/.", "statesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{3.5418644937037153`*^9, 3.5418694093973155`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"SetDirectory", "[", 
     RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{"Run", "[", "\"\<perl math2matopt_torso.pl\>\"", "]"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"SetDirectory", "[", 
     RowBox[{
      RowBox[{"NotebookDirectory", "[", "]"}], "<>", 
      "\"\<buildopt_torso\>\""}], "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.515897431926337*^9, {3.5158975074906588`*^9, 3.5158975156601257`*^9}, 
   3.515946262132225*^9, 3.5159464148519597`*^9, 3.5207285400618353`*^9, 
   3.5424799416949244`*^9}],

Cell[BoxData[
 RowBox[{"(*", "*)"}]], "Input",
 CellChangeTimes->{{3.6202327144415855`*^9, 3.6202327144455853`*^9}}]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell["Zero Dynamics", "Section",
 CellChangeTimes->{{3.513532015025627*^9, 3.513532018772655*^9}, {
  3.5202040661120033`*^9, 3.520204068054115*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"\[ScriptCapitalQ]red", "=", 
     RowBox[{"Table", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SubscriptBox["\[Theta]", "i"], "[", "t", "]"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"i", ",", "1", ",", 
         RowBox[{"ndof", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"d\[ScriptCapitalQ]red", "=", 
     RowBox[{
      SubscriptBox["\[PartialD]", "t"], "\[ScriptCapitalQ]red"}]}], ";"}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{
  3.5314368956049323`*^9, 3.531501294293047*^9, 3.5315014026682453`*^9, 
   3.5315016982501516`*^9, 3.5315029483474436`*^9, 3.531504631373391*^9, {
   3.5316078845788236`*^9, 3.531607891370212*^9}, {3.538604967154131*^9, 
   3.5386049771377015`*^9}, {3.5452420329211445`*^9, 3.5452420442357693`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"SetDirectory", "[", 
    RowBox[{
     RowBox[{"NotebookDirectory", "[", "]"}], "<>", 
     "\"\<buildopt_torso\>\""}], "]"}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5353950828942404`*^9, {3.5452420525152297`*^9, 3.545242053739298*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"statesubs", "\[IndentingNewLine]", 
   RowBox[{"Zstatesubs", " ", "=", " ", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{
        SubscriptBox["z", "1"], "[", "t", "]"}], "\[Rule]", " ", 
       FormBox[
        RowBox[{"z", "[", "1", "]"}],
        TraditionalForm]}], ",", 
      RowBox[{
       RowBox[{
        SubscriptBox["z", "2"], "[", "t", "]"}], "\[Rule]", " ", 
       FormBox[
        RowBox[{"z", "[", "2", "]"}],
        TraditionalForm]}]}], "}"}]}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5202577106190395`*^9, 3.52025774681911*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   SubscriptBox["y", 
    RowBox[{"a", ",", "2"}]], "[", 
   RowBox[{"[", 
    RowBox[{"1", ";;", "5"}], "]"}], "]"}], "*)"}]], "Input",
 CellChangeTimes->{
  3.5386023664514256`*^9, {3.538602435147354*^9, 3.5386024352753615`*^9}, 
   3.545242093071479*^9, 3.5457457153796463`*^9, 3.545755742179242*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"c", " ", "=", " ", 
    RowBox[{"Simplify", "[", 
     RowBox[{
      RowBox[{
       SubscriptBox["\[PartialD]", 
        RowBox[{"{", 
         RowBox[{
          RowBox[{"Flatten", "[", "\[ScriptCapitalQ]red", "]"}], ",", "1"}], 
         "}"}]], 
       RowBox[{"Flatten", "[", 
        SubscriptBox["deltap", "hip"], "]"}]}], "/.", "\[InvisibleSpace]", 
      "constsubs"}], "]"}]}], "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"H", " ", "=", " ", 
     RowBox[{"Simplify", "[", 
      RowBox[{
       RowBox[{
        SubscriptBox["\[PartialD]", 
         RowBox[{"{", 
          RowBox[{
           RowBox[{"Flatten", "[", "\[ScriptCapitalQ]red", "]"}], ",", "1"}], 
          "}"}]], 
        RowBox[{"Flatten", "[", 
         RowBox[{
          SubscriptBox["y", 
           RowBox[{"a", ",", "2"}]], "[", 
          RowBox[{"[", 
           RowBox[{"1", ";;", "5"}], "]"}], "]"}], "]"}]}], "/.", 
       "\[InvisibleSpace]", "constsubs"}], "]"}]}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{"Phi", " ", "=", " ", 
    RowBox[{"Join", "[", 
     RowBox[{
      RowBox[{"{", "c", "}"}], ",", "H"}], "]"}]}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.520206779207184*^9, 3.5202069001341004`*^9}, {
   3.520720978686349*^9, 3.5207209931991796`*^9}, 3.5353953053422313`*^9, {
   3.535395336011885*^9, 3.535395342329896*^9}, {3.5353954484364824`*^9, 
   3.5353954662517138`*^9}, {3.535400784446344*^9, 3.5354007868175483`*^9}, {
   3.53589178517136*^9, 3.5358917861394157`*^9}, {3.538598111967083*^9, 
   3.5385981231557226`*^9}, {3.538602440957687*^9, 3.5386024410766935`*^9}, {
   3.538604982076984*^9, 3.538604983771081*^9}, 3.5452421748118925`*^9, 
   3.5457457170644493`*^9, 3.5457557403072386`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"(*", 
   RowBox[{
    RowBox[{"fbz", "=", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"\[Sigma]", "[", "t", "]"}], "\[Rule]", 
       FractionBox[
        RowBox[{
         RowBox[{
          SubscriptBox["z", "1"], "[", "t", "]"}], "-", 
         RowBox[{"a", "[", 
          RowBox[{"1", ",", "2"}], "]"}]}], 
        RowBox[{"a", "[", 
         RowBox[{"1", ",", "1"}], "]"}]]}], "}"}]}], ";"}], "*)"}], 
  "\[IndentingNewLine]", 
  RowBox[{
   RowBox[{"fbz", "=", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"\[Sigma]", "[", "t", "]"}], "\[Rule]", 
      FractionBox[
       RowBox[{
        RowBox[{
         SubscriptBox["z", "1"], "[", "t", "]"}], "-", 
        RowBox[{"p", "[", "1", "]"}]}], 
       RowBox[{"a", "[", 
        RowBox[{"1", ",", "1"}], "]"}]]}], "}"}]}], ";"}], "*)"}]], "Input",
 CellChangeTimes->{{3.5202070301795387`*^9, 3.520207046450469*^9}, {
  3.5207210011976366`*^9, 3.5207210068069577`*^9}, {3.5223568926491346`*^9, 
  3.5223568975475435`*^9}, {3.5224294664548655`*^9, 3.5224294698470592`*^9}, {
  3.5358917784279747`*^9, 3.535891781228134*^9}, {3.5452425130038466`*^9, 
  3.5452425168460636`*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   SubscriptBox["yz", 
    RowBox[{"d", ",", "2"}]], " ", "=", " ", 
   RowBox[{
    RowBox[{"Transpose", "[", 
     RowBox[{"{", 
      RowBox[{"Table", "[", 
       RowBox[{
        RowBox[{"HumanFunction", "[", "i", "]"}], ",", 
        RowBox[{"{", 
         RowBox[{"i", ",", " ", "2", ",", "6"}], "}"}]}], "]"}], "}"}], "]"}],
     "/.", "fbz"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5202070485075865`*^9, 3.5202070659115825`*^9}, 
   3.5353955628002834`*^9, {3.5385981388896227`*^9, 3.5385981389776278`*^9}, {
   3.538602451956316*^9, 3.538602462378912*^9}, {3.5386052046167126`*^9, 
   3.538605204904729*^9}, 3.5452421164727125`*^9, 3.5457457218536577`*^9, 
   3.5457557381651583`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"PhiI", "=", " ", 
   RowBox[{"Simplify", "[", 
    RowBox[{
     RowBox[{"Inverse", "[", "Phi", "]"}], ".", 
     RowBox[{"Join", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"{", 
         RowBox[{
          SubscriptBox["z", "1"], "[", "t", "]"}], "}"}], "}"}], ",", 
       SubscriptBox["yz", 
        RowBox[{"d", ",", "2"}]]}], " ", "]"}]}], "]"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5202071326113973`*^9, 3.520207202280382*^9}, {
   3.5202072693732195`*^9, 3.5202072797958155`*^9}, {3.520207350020832*^9, 
   3.5202073515609207`*^9}, {3.5202111360613813`*^9, 3.520211136449404*^9}, 
   3.520211291781288*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"PhidotI", " ", "=", " ", 
   RowBox[{"Simplify", "[", 
    RowBox[{
     RowBox[{"Inverse", "[", "Phi", "]"}], ".", 
     RowBox[{"Join", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"{", 
         RowBox[{
          SubscriptBox["z", "2"], "[", "t", "]"}], "}"}], "}"}], ",", 
       RowBox[{
        RowBox[{"D", "[", 
         RowBox[{
          SubscriptBox["yz", 
           RowBox[{"d", ",", "2"}]], ",", 
          RowBox[{
           SubscriptBox["z", "1"], "[", "t", "]"}]}], "]"}], "*", 
        RowBox[{
         SubscriptBox["z", "2"], "[", "t", "]"}]}]}], "]"}]}], "]"}]}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.520272225237257*^9, 3.520272265975587*^9}, {
   3.5202741201076374`*^9, 3.520274121268704*^9}, {3.5452424446190124`*^9, 
   3.5452424737076344`*^9}, 3.545242547313759*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{"zcond", " ", "=", " ", 
    RowBox[{"Table", "[", 
     RowBox[{
      RowBox[{
       RowBox[{
        SubscriptBox["\[Theta]", "i"], "[", "t", "]"}], "\[Rule]", 
       RowBox[{"PhiI", "[", 
        RowBox[{"[", 
         RowBox[{"i", ",", "1"}], "]"}], "]"}]}], ",", 
      RowBox[{"{", 
       RowBox[{"i", ",", "1", ",", "6"}], "}"}]}], "]"}]}], ";"}], 
  "*)"}]], "Input",
 CellChangeTimes->{{3.5202579006819105`*^9, 3.5202579420752783`*^9}, {
   3.5353956183051805`*^9, 3.535395622517188*^9}, 3.538598184016204*^9, 
   3.5386050023641443`*^9, {3.545242260588701*^9, 3.5452422795597086`*^9}, 
   3.54574572885807*^9, 3.5457557343723516`*^9}],

Cell[BoxData[
 RowBox[{"(*", "zcond", "*)"}]], "Input",
 CellChangeTimes->{{3.5207002643654747`*^9, 3.520700264954509*^9}}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Phi1_inverse_mat\>\"", "]"}]}], ";"}], 
   "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"PhiI", "/.", "Zstatesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5202568164348955`*^9, 3.5202568378191185`*^9}, 
   3.5202577668162537`*^9, 3.545242314540693*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"stream", "=", 
     RowBox[{"OpenWrite", "[", "\"\<Phi1_dot_inverse_mat\>\"", "]"}]}], ";"}],
    "\n", 
   RowBox[{
    RowBox[{"Write", "[", 
     RowBox[{"stream", ",", 
      RowBox[{"PhidotI", "/.", "Zstatesubs"}]}], "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Close", "[", "stream", "]"}], ";"}], "\n", 
   RowBox[{
    RowBox[{"Clear", "[", "stream", "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{{3.5202723515834837`*^9, 3.5202723547236633`*^9}, 
   3.5452423157797637`*^9}],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{
   RowBox[{
    RowBox[{"SetDirectory", "[", 
     RowBox[{"NotebookDirectory", "[", "]"}], "]"}], ";"}], 
   "\[IndentingNewLine]", 
   RowBox[{"Run", "[", "\"\<perl math2matopt_torso.pl\>\"", "]"}], 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{"SetDirectory", "[", 
     RowBox[{
      RowBox[{"NotebookDirectory", "[", "]"}], "<>", 
      "\"\<buildopt_torso\>\""}], "]"}], ";"}]}], "*)"}]], "Input",
 CellChangeTimes->{
  3.515897431926337*^9, {3.5158975074906588`*^9, 3.5158975156601257`*^9}, 
   3.515946262132225*^9, 3.5159464148519597`*^9, {3.535396571978861*^9, 
   3.535396574272065*^9}, {3.545242347920573*^9, 3.545242358756178*^9}, {
   3.54574921912574*^9, 3.5457492373154955`*^9}}],

Cell[BoxData[
 RowBox[{"(*", " ", "*)"}]], "Input",
 CellChangeTimes->{3.547491528039366*^9}]
}, Closed]]
}, Open  ]]
},
WindowSize->{944, 982},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}},
Magnification:>1.4 Inherited,
FrontEndVersion->"10.0 for Microsoft Windows (64-bit) (July 1, 2014)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[567, 22, 336, 5, 141, "Title"],
Cell[CellGroupData[{
Cell[928, 31, 146, 2, 96, "Section"],
Cell[CellGroupData[{
Cell[1099, 37, 99, 1, 496, "Subsection"],
Cell[CellGroupData[{
Cell[1223, 42, 376, 5, 296, "Item"],
Cell[1602, 49, 462, 8, 296, "Item"],
Cell[2067, 59, 287, 6, 296, "Item"],
Cell[2357, 67, 218, 3, 296, "Item"],
Cell[2578, 72, 215, 3, 296, "Item"],
Cell[2796, 77, 207, 3, 296, "Item"],
Cell[3006, 82, 220, 3, 296, "Item"],
Cell[3229, 87, 210, 3, 296, "Item"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[3488, 96, 100, 1, 496, "Subsection"],
Cell[CellGroupData[{
Cell[3613, 101, 438, 7, 296, "Item"],
Cell[4054, 110, 397, 7, 296, "Item"],
Cell[4454, 119, 343, 6, 296, "Item"],
Cell[4800, 127, 519, 9, 296, "Item"],
Cell[5322, 138, 206, 2, 296, "Item"]
}, Open  ]],
Cell[CellGroupData[{
Cell[5565, 145, 50644, 835, 2539, "Input"],
Cell[56212, 982, 51592, 849, 373, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[107853, 1837, 109, 1, 496, "Subsection"],
Cell[107965, 1840, 435, 7, 309, "Text"],
Cell[CellGroupData[{
Cell[108425, 1851, 142, 2, 296, "Item"],
Cell[108570, 1855, 123, 1, 296, "Item"],
Cell[108696, 1858, 88, 1, 296, "Item"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[108833, 1865, 105, 1, 496, "Subsection"],
Cell[108941, 1868, 276, 5, 309, "Text"]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[109266, 1879, 246, 4, 75, "Section"],
Cell[109515, 1885, 787, 18, 722, "Input"],
Cell[110305, 1905, 612, 19, 722, "Input"],
Cell[110920, 1926, 661, 17, 1132, "Input"],
Cell[111584, 1945, 78, 2, 309, "Input"],
Cell[111665, 1949, 226, 5, 309, "Input"],
Cell[111894, 1956, 1689, 41, 722, "Input"]
}, Closed]],
Cell[CellGroupData[{
Cell[113620, 2002, 207, 3, 75, "Section"],
Cell[CellGroupData[{
Cell[113852, 2009, 479, 8, 50, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[114334, 2019, 593, 12, 151, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[114930, 2033, 237, 4, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[115170, 2039, 225, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[115398, 2044, 220, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[115621, 2049, 229, 4, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[115853, 2055, 167, 3, 42, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[116023, 2060, 235, 4, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[116261, 2066, 321, 9, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[116585, 2077, 323, 9, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}]
}, Closed]],
Cell[CellGroupData[{
Cell[116945, 2091, 509, 8, 44, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[117457, 2101, 333, 5, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[117793, 2108, 204, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[118000, 2113, 503, 10, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[118506, 2125, 207, 4, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[118716, 2131, 183, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[118902, 2136, 273, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[119178, 2141, 275, 4, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[119456, 2147, 453, 6, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[119912, 2155, 247, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[120162, 2160, 245, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[120410, 2165, 272, 3, 40, "Item",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[120685, 2170, 348, 5, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}]
}, Open  ]],
Cell[121048, 2178, 80, 2, 42, "Input"],
Cell[121131, 2182, 4307, 66, 178, "Input"],
Cell[125441, 2250, 1083, 21, 70, "Input"],
Cell[126527, 2273, 1427, 40, 233, "Input"],
Cell[127957, 2315, 2222, 34, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[130182, 2351, 3368, 51, 60, "Output"],
Cell[133553, 2404, 852, 26, 70, "Input"],
Cell[134408, 2432, 2326, 65, 124, "Input"],
Cell[CellGroupData[{
Cell[136759, 2501, 1476, 37, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[138238, 2540, 5276, 138, 737, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[143517, 2680, 634, 9, 50, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}]
}, Open  ]],
Cell[CellGroupData[{
Cell[144188, 2694, 561, 16, 114, "Input"],
Cell[144752, 2712, 664, 19, 60, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[145453, 2736, 348, 6, 50, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[145804, 2744, 1001, 27, 163, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[146808, 2773, 2323, 59, 178, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[149134, 2834, 502, 13, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[149639, 2849, 422, 8, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[150064, 2859, 679, 16, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}],
Cell[150746, 2877, 309, 6, 42, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10001.}]
}, Open  ]],
Cell[CellGroupData[{
Cell[151092, 2888, 349, 6, 50, "Text",
 CellGroupingRules->{GroupTogetherGrouping, 10002.}],
Cell[151444, 2896, 2908, 71, 285, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10002.}],
Cell[154355, 2969, 591, 17, 77, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10002.}]
}, Open  ]],
Cell[CellGroupData[{
Cell[154983, 2991, 324, 5, 54, "Subsubsection"],
Cell[155310, 2998, 1169, 28, 97, "Input"],
Cell[156482, 3028, 1010, 26, 70, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[157529, 3059, 390, 7, 54, "Subsubsection"],
Cell[157922, 3068, 1515, 37, 259, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[159474, 3110, 329, 6, 108, "Subsection"],
Cell[159806, 3118, 2248, 49, 286, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[162091, 3172, 107, 1, 67, "Subsection"],
Cell[CellGroupData[{
Cell[162223, 3177, 5728, 130, 475, "Input"],
Cell[167954, 3309, 2863, 82, 142, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[170854, 3396, 148, 2, 54, "Subsubsection"],
Cell[171005, 3400, 202, 3, 42, "Text"],
Cell[171210, 3405, 6987, 165, 448, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[178234, 3575, 134, 2, 54, "Subsubsection"],
Cell[178371, 3579, 4576, 124, 518, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[182984, 3708, 108, 1, 54, "Subsubsection"],
Cell[183095, 3711, 8861, 248, 677, "Input"],
Cell[191959, 3961, 11849, 354, 855, "Input"],
Cell[CellGroupData[{
Cell[203833, 4319, 15278, 455, 2774, "Input"],
Cell[219114, 4776, 2694, 39, 154, "Output"]
}, Open  ]],
Cell[221823, 4818, 2014, 55, 721, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[223874, 4878, 265, 4, 75, "Subsubsection"],
Cell[224142, 4884, 7084, 182, 513, "Input"],
Cell[231229, 5068, 11466, 342, 3480, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[242732, 5415, 145, 2, 287, "Subsubsection"],
Cell[242880, 5419, 3674, 78, 1681, "Input"],
Cell[246557, 5499, 322, 9, 221, "Input"],
Cell[246882, 5510, 1346, 41, 373, "Input"],
Cell[248231, 5553, 2440, 51, 1535, "Input"],
Cell[250674, 5606, 2726, 83, 953, "Input"],
Cell[CellGroupData[{
Cell[253425, 5693, 2746, 65, 1099, "Input"],
Cell[256174, 5760, 2600, 57, 4062, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[258823, 5823, 184, 3, 287, "Subsubsection"],
Cell[259010, 5828, 1360, 30, 849, "Input"],
Cell[260373, 5860, 394, 9, 221, "Input"],
Cell[260770, 5871, 911, 17, 221, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[261718, 5893, 142, 2, 287, "Subsubsection"],
Cell[CellGroupData[{
Cell[261885, 5899, 1196, 19, 221, "Input"],
Cell[263084, 5920, 14574, 336, 1132, "Output"]
}, Open  ]],
Cell[277673, 6259, 453, 10, 221, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[278163, 6274, 247, 4, 287, "Subsubsection"],
Cell[CellGroupData[{
Cell[278435, 6282, 2409, 51, 722, "Input"],
Cell[280847, 6335, 1535, 41, 355, "Output"]
}, Open  ]],
Cell[282397, 6379, 1459, 38, 539, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[283893, 6422, 123, 1, 287, "Subsubsection"],
Cell[284019, 6425, 581, 13, 221, "Input"],
Cell[284603, 6440, 2467, 60, 662, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[287073, 6502, 3185, 89, 1099, "Input"],
Cell[290261, 6593, 1615, 40, 516, "Input"],
Cell[291879, 6635, 1661, 42, 516, "Input"],
Cell[293543, 6679, 2195, 45, 516, "Input"],
Cell[CellGroupData[{
Cell[295763, 6728, 640, 15, 221, "Input"],
Cell[296406, 6745, 2807, 46, 215, "Output"]
}, Open  ]],
Cell[299228, 6794, 1501, 36, 516, "Input"],
Cell[CellGroupData[{
Cell[300754, 6834, 203, 4, 221, "Input"],
Cell[300960, 6840, 2835, 40, 215, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[303832, 6885, 7713, 210, 5647, "Input"],
Cell[311548, 7097, 1329, 35, 777, "Output"],
Cell[312880, 7134, 940, 24, 565, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[313869, 7164, 306, 5, 287, "Subsubsection"],
Cell[314178, 7171, 1533, 34, 662, "Input"],
Cell[315714, 7207, 178, 5, 221, "Input"],
Cell[315895, 7214, 1282, 34, 1387, "Input"],
Cell[317180, 7250, 1002, 22, 662, "Input"],
Cell[318185, 7274, 903, 21, 662, "Input"],
Cell[319091, 7297, 903, 21, 662, "Input"],
Cell[319997, 7320, 638, 17, 662, "Input"],
Cell[320638, 7339, 1054, 23, 662, "Input"],
Cell[321695, 7364, 585, 16, 662, "Input"],
Cell[322283, 7382, 1321, 27, 662, "Input"],
Cell[323607, 7411, 690, 20, 674, "Input"],
Cell[324300, 7433, 1165, 25, 662, "Input"],
Cell[325468, 7460, 3055, 62, 2259, "Input"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[328584, 7529, 158, 2, 510, "Section"],
Cell[328745, 7533, 157, 2, 221, "Text"],
Cell[CellGroupData[{
Cell[328927, 7539, 1741, 40, 991, "Input"],
Cell[330671, 7581, 179, 4, 215, "Output"],
Cell[330853, 7587, 178, 4, 215, "Output"],
Cell[331034, 7593, 115, 1, 393, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[331186, 7599, 101, 1, 355, "Subsection"],
Cell[CellGroupData[{
Cell[331312, 7604, 132, 2, 287, "Subsubsection"],
Cell[CellGroupData[{
Cell[331469, 7610, 588, 11, 404, "Input"],
Cell[332060, 7623, 2577, 40, 215, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[334686, 7669, 82, 1, 287, "Subsubsection"],
Cell[CellGroupData[{
Cell[334793, 7674, 553, 11, 221, "Input"],
Cell[335349, 7687, 2818, 42, 215, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[338216, 7735, 121, 1, 287, "Subsubsection"],
Cell[338340, 7738, 418, 7, 221, "Input"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[338807, 7751, 199, 3, 355, "Subsection"],
Cell[CellGroupData[{
Cell[339031, 7758, 159, 2, 287, "Subsubsection"],
Cell[339193, 7762, 1653, 39, 516, "Input"],
Cell[CellGroupData[{
Cell[340871, 7805, 244, 5, 221, "Input"],
Cell[341118, 7812, 3533, 68, 578, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[344688, 7885, 224, 6, 221, "Input"],
Cell[344915, 7893, 2850, 49, 319, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[347814, 7948, 170, 2, 287, "Subsubsection"],
Cell[CellGroupData[{
Cell[348009, 7954, 1243, 24, 516, "Input"],
Cell[349255, 7980, 3715, 59, 319, "Output"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[353031, 8046, 175, 2, 355, "Subsection"],
Cell[353209, 8050, 600, 11, 221, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[353846, 8066, 176, 2, 355, "Subsection"],
Cell[354025, 8070, 117, 1, 221, "Text"],
Cell[354145, 8073, 557, 10, 221, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[354739, 8088, 242, 3, 355, "Subsection"],
Cell[CellGroupData[{
Cell[355006, 8095, 834, 16, 221, "Input"],
Cell[355843, 8113, 3077, 50, 215, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[358969, 8169, 102, 1, 355, "Subsection"],
Cell[CellGroupData[{
Cell[359096, 8174, 1845, 34, 221, "Input"],
Cell[360944, 8210, 3575, 59, 319, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[364556, 8274, 113, 1, 287, "Subsubsection"],
Cell[CellGroupData[{
Cell[364694, 8279, 618, 15, 516, "Input"],
Cell[365315, 8296, 3161, 50, 319, "Output"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[368537, 8353, 131, 2, 355, "Subsection"],
Cell[CellGroupData[{
Cell[368693, 8359, 962, 16, 373, "Input"],
Cell[369658, 8377, 4430, 82, 522, "Output"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[374149, 8466, 101, 1, 510, "Section"],
Cell[374253, 8469, 185, 2, 221, "Text"],
Cell[374441, 8473, 526, 12, 373, "Input"],
Cell[374970, 8487, 742, 19, 373, "Input"],
Cell[375715, 8508, 1410, 34, 539, "Input"],
Cell[377128, 8544, 163, 2, 221, "Text"],
Cell[CellGroupData[{
Cell[377316, 8550, 1092, 21, 383, "Input"],
Cell[378411, 8573, 3254, 56, 387, "Output"]
}, Open  ]],
Cell[381680, 8632, 307, 7, 221, "Input"],
Cell[CellGroupData[{
Cell[382012, 8643, 263, 8, 287, "Subsubsection"],
Cell[382278, 8653, 1039, 31, 287, "Input"],
Cell[383320, 8686, 1285, 30, 373, "Input"],
Cell[384608, 8718, 1413, 35, 383, "Input"],
Cell[386024, 8755, 1151, 34, 393, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[387212, 8794, 390, 5, 287, "Subsubsection"],
Cell[387605, 8801, 4307, 80, 662, "Input"],
Cell[391915, 8883, 91, 1, 221, "Input"],
Cell[392009, 8886, 424, 11, 373, "Input"],
Cell[392436, 8899, 2176, 55, 674, "Input"],
Cell[394615, 8956, 2147, 50, 539, "Input"]
}, Open  ]],
Cell[CellGroupData[{
Cell[396799, 9011, 122, 1, 287, "Subsubsection"],
Cell[396924, 9014, 945, 21, 662, "Input"],
Cell[397872, 9037, 1041, 23, 662, "Input"],
Cell[398916, 9062, 1161, 25, 662, "Input"],
Cell[400080, 9089, 1082, 25, 673, "Input"],
Cell[401165, 9116, 1201, 26, 673, "Input"],
Cell[402369, 9144, 978, 22, 662, "Input"],
Cell[403350, 9168, 702, 19, 662, "Input"],
Cell[404055, 9189, 882, 19, 662, "Input"],
Cell[404940, 9210, 707, 19, 673, "Input"],
Cell[405650, 9231, 831, 18, 673, "Input"],
Cell[406484, 9251, 757, 20, 673, "Input"],
Cell[407244, 9273, 746, 17, 673, "Input"],
Cell[407993, 9292, 702, 19, 662, "Input"],
Cell[408698, 9313, 1100, 21, 662, "Input"],
Cell[409801, 9336, 704, 19, 673, "Input"],
Cell[410508, 9357, 841, 18, 673, "Input"],
Cell[411352, 9377, 877, 22, 673, "Input"],
Cell[412232, 9401, 3201, 75, 2583, "Input"],
Cell[CellGroupData[{
Cell[415458, 9480, 381, 7, 373, "Input"],
Cell[415842, 9489, 713, 11, 215, "Output"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[416604, 9506, 91, 1, 355, "Subsection"],
Cell[416698, 9509, 130, 1, 221, "Text"],
Cell[416831, 9512, 1275, 25, 516, "Input"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[418155, 9543, 251, 3, 510, "Section"],
Cell[418409, 9548, 300, 8, 221989, "Input"],
Cell[418712, 9558, 1507, 31, 911563, "Input"],
Cell[420222, 9591, 330, 8, 221989, "Input"],
Cell[420555, 9601, 840, 23, 639021, "Input"],
Cell[CellGroupData[{
Cell[421420, 9628, 260, 3, 362023, "Subsection",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[421683, 9633, 1032, 21, 253300, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[422718, 9656, 434, 8, 221989, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[423155, 9666, 330, 9, 221989, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[423488, 9677, 925, 20, 362023, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}],
Cell[424416, 9699, 580, 16, 639021, "Input",
 CellGroupingRules->{GroupTogetherGrouping, 10000.}]
}, Open  ]],
Cell[425011, 9718, 137, 1, 221989, "Text"],
Cell[425151, 9721, 736, 18, 221989, "Input"],
Cell[425890, 9741, 136, 1, 221989, "Text"],
Cell[426029, 9744, 390, 10, 221989, "Input"],
Cell[426422, 9756, 590, 18, 221989, "Input"],
Cell[427015, 9776, 519, 12, 221989, "Input"],
Cell[427537, 9790, 389, 9, 221989, "Input"],
Cell[427929, 9801, 529, 15, 639021, "Input"],
Cell[428461, 9818, 450, 9, 221989, "Input"],
Cell[428914, 9829, 534, 15, 776294, "Input"],
Cell[CellGroupData[{
Cell[429473, 9848, 331, 4, 362023, "Subsection"],
Cell[429807, 9854, 126, 1, 221989, "Text"],
Cell[429936, 9857, 1003, 26, 253300, "Input"],
Cell[430942, 9885, 330, 8, 221989, "Input"],
Cell[431275, 9895, 550, 16, 639021, "Input"],
Cell[431828, 9913, 465, 9, 221989, "Input"],
Cell[432296, 9924, 508, 14, 639021, "Input"],
Cell[432807, 9940, 424, 11, 362023, "Input"],
Cell[433234, 9953, 862, 20, 639021, "Input"],
Cell[CellGroupData[{
Cell[434121, 9977, 327, 4, 286235, "Subsubsection"],
Cell[434451, 9983, 131, 1, 221989, "Text"],
Cell[434585, 9986, 2393, 60, 1326628, "Input"],
Cell[436981, 10048, 3821, 106, 639021, "Input"],
Cell[440805, 10156, 583, 15, 221989, "Input"],
Cell[441391, 10173, 149, 3, 221989, "Input"],
Cell[441543, 10178, 125, 2, 221989, "Input"],
Cell[441671, 10182, 222, 5, 221989, "Input"],
Cell[441896, 10189, 224, 5, 221989, "Input"],
Cell[442123, 10196, 569, 12, 221989, "Input"],
Cell[442695, 10210, 271, 6, 221989, "Input"],
Cell[442969, 10218, 348, 9, 221989, "Input"],
Cell[443320, 10229, 169, 4, 221989, "Input"],
Cell[443492, 10235, 944, 17, 362023, "Input"],
Cell[444439, 10254, 3647, 87, 911563, "Input"],
Cell[448089, 10343, 1715, 31, 221989, "Input"],
Cell[449807, 10376, 2014, 45, 362023, "Input"],
Cell[451824, 10423, 2381, 60, 911563, "Input"],
Cell[454208, 10485, 665, 17, 639021, "Input"],
Cell[454876, 10504, 689, 17, 639021, "Input"],
Cell[455568, 10523, 689, 17, 639021, "Input"],
Cell[456260, 10542, 691, 17, 639021, "Input"],
Cell[456954, 10561, 741, 18, 639021, "Input"],
Cell[457698, 10581, 510, 14, 639021, "Input"],
Cell[458211, 10597, 648, 17, 499966, "Input"],
Cell[458862, 10616, 116, 2, 221989, "Input"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[459039, 10625, 149, 2, 401, "Section"],
Cell[459191, 10629, 883, 23, 34526, "Input"],
Cell[460077, 10654, 299, 8, 21163, "Input"],
Cell[460379, 10664, 611, 18, 34526, "Input"],
Cell[460993, 10684, 344, 9, 21163, "Input"],
Cell[461340, 10695, 1769, 44, 50786, "Input"],
Cell[463112, 10741, 1182, 33, 50786, "Input"],
Cell[464297, 10776, 739, 18, 21777, "Input"],
Cell[465039, 10796, 675, 17, 21777, "Input"],
Cell[465717, 10815, 855, 24, 21777, "Input"],
Cell[466575, 10841, 700, 18, 21163, "Input"],
Cell[467278, 10861, 123, 2, 21163, "Input"],
Cell[467404, 10865, 572, 16, 60937, "Input"],
Cell[467979, 10883, 557, 16, 60937, "Input"],
Cell[468539, 10901, 743, 18, 47678, "Input"],
Cell[469285, 10921, 93, 2, 21163, "Input"]
}, Closed]]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
